Compartir por


sp_register_custom_scripting (Transact-SQL)

Se aplica a: SQL Server

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. Cuando se realiza un cambio en el esquema en una tabla replicada, estos procedimientos almacenados se vuelven a crear.

sp_register_custom_scripting registra un procedimiento almacenado o un archivo de script de Transact-SQL que se ejecuta cuando se produce un cambio de esquema para generar scripts de la definición de un nuevo procedimiento almacenado personalizado definido por el usuario. Este nuevo procedimiento almacenado personalizado definido por el usuario debe reflejar el nuevo esquema de la tabla. sp_register_custom_scripting se ejecuta en el publicador de la base de datos de publicación y el archivo de script registrado o el procedimiento almacenado se ejecuta en el suscriptor cuando se produce un cambio de esquema.

Convenciones de sintaxis de Transact-SQL

Sintaxis

sp_register_custom_scripting
    [ @type = ] 'type'
    , [ @value = ] N'value'
    [ , [ @publication = ] N'publication' ]
    [ , [ @article = ] N'article' ]
[ ; ]

Argumentos

[ @type = ] 'type'

Tipo de procedimiento almacenado personalizado o script que se está registrando. @type es varchar(16) y puede ser uno de los valores siguientes.

Valor Descripción
insert El procedimiento almacenado personalizado registrado se ejecuta cuando se replica una INSERT instrucción.
update El procedimiento almacenado personalizado registrado se ejecuta cuando se replica una UPDATE instrucción.
delete El procedimiento almacenado personalizado registrado se ejecuta cuando se replica una DELETE instrucción.
custom_script El script se ejecuta al final del desencadenador de lenguaje de definición de datos (DDL).

[ @value = ] N'value'

Nombre de un procedimiento almacenado o nombre y ruta de acceso completa al archivo de script de Transact-SQL que se está registrando. @value es nvarchar(2048) sin valor predeterminado.

Al especificar NULL para @value anula el registro de un script registrado anteriormente, que es el mismo que en ejecución sp_unregister_custom_scripting.

Cuando se custom_script el valor de @type, se espera el nombre y la ruta de acceso completa de un archivo de script de Transact-SQL. De lo contrario, @value debe ser el nombre de un procedimiento almacenado registrado.

[ @publication = ] N'publication'

Nombre de la publicación para la que se está registrando el procedimiento almacenado personalizado o el script. @publication es sysname, con un valor predeterminado de NULL.

[ @article = ] N'article'

Nombre del artículo para el que se está registrando el procedimiento almacenado personalizado o el script. @article es sysname, con un valor predeterminado de NULL.

Valores de código de retorno

0 (correcto) o 1 (erróneo).

Comentarios

sp_register_custom_scripting se usa en la replicación transaccional y de instantáneas.

Este procedimiento almacenado debe ejecutarse antes de realizar un cambio de esquema en una tabla replicada. Para obtener más información sobre el uso de este procedimiento almacenado, vea Artículos transaccionales: Regenerar para reflejar los cambios de esquema.

Permisos

Solo los miembros del rol fijo de servidor sysadmin , el rol fijo de base de datos db_owner o el rol fijo de base de datos db_ddladmin pueden ejecutar sp_register_custom_scripting.