sp_repladdcolumn (Transact-SQL)
Se aplica a: SQL Server Azure SQL Instancia administrada
Agrega una columna a un artículo de tabla existente que ha sido publicado. 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 ha quedado desusado y se admite por cuestiones de compatibilidad con las versiones anteriores. Solo se debe usar con publicadores de Microsoft SQL Server 2000 (8.x) y suscriptores de republicación de SQL Server 2000 (8.x). Este procedimiento no debe usarse en columnas con tipos de datos que se introdujeron en SQL Server 2005 (9.x) o superior.
Convenciones de sintaxis de Transact-SQL
Sintaxis
sp_repladdcolumn [ @source_object = ] 'source_object', [ @column = ] 'column' ]
[ , [ @typetext = ] 'typetext' ]
[ , [ @publication_to_add = ] 'publication_to_add' ]
[ , [ @from_agent = ] from_agent ]
[ , [ @schema_change_script = ] 'schema_change_script' ]
[ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
[ , [ @force_reinit_subscription = ] force_reinit_subscription ]
Argumentos
[ @source_object =] 'source_object'
Es el nombre del artículo de la tabla que contiene la nueva columna que se va a agregar. source_object es nvarchar(358), sin ningún valor predeterminado.
[ @column =] 'column'
Es el nombre de la columna de la tabla que se va a agregar para replicación. column es sysname, sin valor predeterminado.
[ @typetext =] 'typetext'
Es la 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 =] 'publication_to_add'
Es el 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 ES ALL, 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
Si un agente de replicación está ejecutando el procedimiento almacenado. from_agent es int, con un valor predeterminado de 0, donde se usa un valor de 1 cuando un agente de replicación ejecuta este procedimiento almacenado y, en todos los demás casos, se debe usar el valor predeterminado de 0.
[ @schema_change_script =] '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 para realizar una de las acciones siguientes:
Si los procedimientos almacenados personalizados se vuelven a generar automáticamente, schema_change_script se pueden usar para quitar estos procedimientos almacenados personalizados 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, se puede usar schema_change_scriptpara regenerar 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 un poco, 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í, un valor de 1 concede permiso 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 un 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í, un valor de 1 concede permiso para que se produzca la reinicialización de la suscripción.
Valores de código de retorno
0 (correcto) o 1 (error)
Permisos
Solo los miembros del rol fijo de servidor sysadmin y del rol fijo de base de datos db_owner pueden ejecutar sp_repladdcolumn.
Consulte también
Características que ya no se usan en la replicación de SQL Server
Procedimientos almacenados del sistema (Transact-SQL)