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
.