sp_repladdcolumn (Transact-SQL)
Se aplica a: SQL Server Azure SQL Managed Instance
Agrega una columna a un artículo de tabla publicada existente. Permite agregar la nueva columna a todos los publicadores que publican esta tabla o, simplemente, agregar la columna a una publicación específica que publica la tabla. Este procedimiento almacenado se ejecuta en el publicador de la base de datos de publicación.
Importante
Este procedimiento almacenado está en desuso y se admite para la compatibilidad con versiones anteriores. Solo se debe usar con publicadores de SQL Server 2000 (8.x) y suscriptores de republicación de SQL Server 2000 (8.x). Este procedimiento no se debe usar en columnas con tipos de datos que se introdujeron en SQL Server 2005 (9.x) y versiones posteriores.
Convenciones de sintaxis de Transact-SQL
Sintaxis
sp_repladdcolumn
[ @source_object = ] N'source_object'
, [ @column = ] N'column'
, [ @typetext = ] N'typetext'
[ , [ @publication_to_add = ] N'publication_to_add' ]
[ , [ @from_agent = ] from_agent ]
[ , [ @schema_change_script = ] N'schema_change_script' ]
[ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
[ , [ @force_reinit_subscription = ] force_reinit_subscription ]
[ ; ]
Argumentos
[ @source_object = ] N'source_object'
Nombre del artículo de tabla que contiene la nueva columna que se va a agregar. @source_object es nvarchar(358), sin ningún valor predeterminado.
[ @column = ] N'column'
Nombre de la columna de la tabla que se va a agregar para la replicación. @column es sysname, sin ningún valor predeterminado.
[ @typetext = ] N'typetext'
Definición de la columna que se va a agregar. @typetext es nvarchar(3000), sin ningún valor predeterminado. Por ejemplo, si se agrega la columna order_filled y es un campo de carácter único, no NULL
, y tiene un valor predeterminado de N, order_filled sería el parámetro column , mientras que la definición de la columna, char(1) NOT NULL
CONSTRAINT constraint_name DEFAULT 'N' sería el valor del parámetro @typetext .
[ @publication_to_add = ] N'publication_to_add'
Nombre de la publicación a la que se agrega la nueva columna. @publication_to_add es nvarchar(4000), con un valor predeterminado de all
. Si all
es , todas las publicaciones que contienen esta tabla se ven afectadas. Si se especifica @publication_to_add , solo esta publicación tiene agregada la nueva columna.
[ @from_agent = ] from_agent
Especifica si un agente de replicación ejecuta el procedimiento almacenado. @from_agent es int, con un valor predeterminado de 0
. Un valor de 1
se usa cuando un agente de replicación ejecuta este procedimiento almacenado y, en cada otro caso, se debe usar el valor predeterminado de 0
.
[ @schema_change_script = ] N'schema_change_script'
Especifica el nombre y la ruta de acceso de un script de SQL Server que se usa para modificar los procedimientos almacenados personalizados generados por el sistema. @schema_change_script es nvarchar(4000), con un valor predeterminado de NULL
. La replicación permite que los procedimientos almacenados personalizados definidos por el usuario sustituyan a uno o más de los procedimientos predeterminados utilizados en la replicación transaccional. @schema_change_script se ejecuta después de realizar un cambio de esquema en un artículo de tabla replicada mediante sp_repladdcolumn
y se puede usar de la siguiente manera:
Si los procedimientos almacenados personalizados se vuelven a generar automáticamente, @schema_change_script se pueden usar para quitar estos procedimientos almacenados personalizados y reemplazarlos por procedimientos almacenados personalizados definidos por el usuario que admiten el nuevo esquema.
Si los procedimientos almacenados personalizados no se vuelven a generar automáticamente, @schema_change_script se pueden usar para volver a generar estos procedimientos almacenados o para crear procedimientos almacenados personalizados definidos por el usuario.
[ @force_invalidate_snapshot = ] force_invalidate_snapshot
Habilita o deshabilita la capacidad de que se invalide una instantánea. @force_invalidate_snapshot es bit, con un valor predeterminado de 1
.
1
especifica que los cambios realizados en el artículo pueden hacer que la instantánea no sea válida y, si es así, se concede permiso1
para que se produzca la nueva instantánea.0
especifica que los cambios realizados en el artículo no hacen que la instantánea no sea válida.
[ @force_reinit_subscription = ] force_reinit_subscription
Habilita o deshabilita la capacidad de reinicializar la suscripción. @force_reinit_subscription es bit, con un valor predeterminado de 0
.
0
especifica que los cambios realizados en el artículo no hacen que se reinicialice la suscripción.1
especifica que los cambios realizados en el artículo pueden hacer que se reinicialice la suscripción y, si es así, se concede permiso para que se produzca la reinicialización de1
la suscripción.
Valores de código de retorno
0
(correcto) o 1
(erróneo).
Permisos
Solo los miembros del rol fijo de servidor sysadmin y el rol fijo de base de datos db_owner pueden ejecutar sp_repladdcolumn
.