sp_repladdcolumn (Transact-SQL)

Se aplica a:SQL ServerAzure SQL Managed Instance

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)