Documente Academic
Documente Profesional
Documente Cultură
ALTER TABLE
ALTER TABLE SET LOCK ESCALATION no se debera usar si la replicacin
de cambio de esquema est habilitada y una topologa incluye Resultado de o SQL
Server Compact 3.5 Subscribers.ALTER VIEW
ALTER PROCEDURE
ALTER FUNCTION
ALTER TRIGGER
Importante
Los cambios de esquema de las tablas deben realizarse con Transact-SQL u Objetos de
administracin de SQL Server (SMO). Cuando se realizan cambios de esquema en SQL
Server Management Studio, Management Studio intenta quitar y volver a crear la tabla.
Debido a que no es posible quitar objetos publicados, se produce un error en el cambio
de esquema.
Para obtener informacin sobre cmo agregar y quitar artculos de publicaciones, vea
Agregar y quitar artculos de publicaciones existentes.
EQUIPO 1 1
SQL SERVER
Consideraciones generales
Los cambios de esquema estn sujetos a las restricciones impuestas por Transact-
SQL. Por ejemplo, ALTER TABLE no permite aplicar ALTER a las columnas de
clave principal.
La asignacin de tipo de datos solo se realiza para la instantnea inicial. Los
cambios de esquema no se asignan a versiones anteriores de tipos de datos. Por
ejemplo, si la instruccin ALTER TABLE ADD datetime2 column se utiliza en
SQL Server 2012, el tipo de datos no se traduce a nvarchar para los suscriptores
de Resultado de . En algunos casos, los cambios de esquema se bloquean en el
publicador.
Si una publicacin est configurada para permitir la propagacin de los cambios
de esquema, stos se propagarn independientemente de cmo est establecida la
opcin de esquema relacionada para un artculo de la publicacin. Por ejemplo, si
elige no replicar las restricciones de clave externa para un artculo de la tabla y
despus emite un comando ALTER TABLE que agrega una clave externa a la
tabla en el publicador, la clave externa se agregar a la tabla en el suscriptor. Para
evitarlo, deshabilite la propagacin de los cambios de esquema antes de emitir el
comando ALTER TABLE.
Los cambios de esquema deben realizarse nicamente en el publicador y no en los
suscriptores (incluidos los suscriptores de republicacin). La replicacin de
mezcla impide los cambios de esquema en el suscriptor. La replicacin
transaccional no impide los cambios, pero los cambios pueden causar errores en
la replicacin.
Los cambios propagados a un suscriptor de republicacin se propagan de manera
predeterminada a sus suscriptores.
Si el cambio de esquema hace referencia a objetos o restricciones existentes en el
publicador, pero no en el suscriptor, el cambio de esquema se realizar
correctamente en el publicador pero se producir un error en el suscriptor.
Todos los objetos del suscriptor a los que se hace referencia al agregar una clave
externa deben tener el mismo nombre y propietario que el objeto correspondiente
en el publicador.
No se permite agregar, quitar ni alterar ndices explcitamente. Se admiten los
ndices creados implcitamente para las restricciones (como la restriccin de clave
principal).
No se permite alterar ni quitar columnas de identidad administradas por la
replicacin. Para obtener ms informacin sobre la administracin automtica de
las columnas de identidad, vea Replicar columnas de identidad.
No se admiten los cambios de esquema que incluyen funciones no deterministas,
ya que pueden producir datos distintos en el publicador y en el suscriptor (falta de
convergencia). Por ejemplo, si emite en el publicador el comando ALTER TABLE
SalesOrderDetail ADD OrderDate DATETIME DEFAULT GETDATE(), los
valores sern distintos cuando el comando se replique en el suscriptor y se ejecute.
Para obtener ms informacin acerca de las funciones no deterministas, vea
Deterministic and Nondeterministic Functions.
EQUIPO 1 2
SQL SERVER
Agregar columnas
Para agregar una columna nueva a una tabla e incluirla en una publicacin
existente, ejecute ALTER TABLE <tabla> ADD <columna>. De manera
predeterminada, la columna se replicar en todos los suscriptores. La columna
debe admitir valores NULL o incluir una restriccin predeterminada. Para obtener
ms informacin sobre la forma de agregar columnas, consulte la seccin
"Replicacin de mezcla" de este tema.
Para agregar una columna nueva a una tabla sin incluirla en una publicacin
existente, deshabilite la replicacin de los cambios de esquema y despus, ejecute
ALTER TABLE <tabla> ADD <columna>.
Para incluir una columna existente en una publicacin existente, use
sp_articlecolumn (Transact-SQL), sp_mergearticlecolumn (Transact-SQL) o el
cuadro de dilogo Propiedades de la publicacin: <publicacin>.
Quitar columnas
Para quitar una columna de una publicacin existente y de la tabla del publicador,
ejecute ALTER TABLE <tabla> DROP <columna>. De forma predeterminada,
la columna se quitar de la tabla en todos los suscriptores.
EQUIPO 1 3
SQL SERVER
Para quitar una columna de una publicacin existente, pero conservarla en la tabla
del publicador, use sp_articlecolumn (Transact-SQL), sp_mergearticlecolumn
(Transact-SQL) o el cuadro de dilogo Propiedades de la publicacin:
<publicacin>.
Replicacin transaccional
Replicacin de mezcla
EQUIPO 1 5
SQL SERVER
EQUIPO 1 6