sp_register_custom_scripting (Transact-SQL)
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 Transact-SQL que se ejecuta cuando se produce un cambio en el esquema para convertir en script 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, mientras que el archivo de script o el procedimiento almacenado registrado se ejecuta en el suscriptor cuando se produce un cambio en el esquema.
Convenciones de sintaxis de Transact-SQL
Sintaxis
sp_register_custom_scripting [ @type = ] 'type'
[ @value = ] 'value'
[ , [ @publication = ] 'publication' ]
[ , [ @article = ] 'article' ]
Argumentos
[ @type = ] 'type'
Es el tipo de procedimiento almacenado personalizado o el script que se registra. type es de tipo varchar(16), no tiene ningún valor predeterminado y puede tener uno de los valores siguientes.Valor
Descripción
insert
El procedimiento almacenado personalizado registrado se ejecuta cuando se replica una instrucción INSERT.
update
El procedimiento almacenado personalizado registrado se ejecuta cuando se replica una instrucción UPDATE.
delete
El procedimiento almacenado personalizado registrado se ejecuta cuando se replica una instrucción DELETE.
custom_script
El script se ejecuta al final del desencadenador de lenguaje de definición de datos (DDL).
[ @value= ] '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 de tipo nvarchar(1024) y no tiene ningún valor predeterminado.[!NOTA]
Si se especifica NULL en el parámetro value, se eliminará del registro un script registrado con anterioridad, lo que equivale a ejecutar sp_unregister_custom_scripting.
Cuando el valor de type es custom_script, 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= ] 'publication'
Nombre de la publicación para la que se está registrando el procedimiento almacenado personalizado o el script. publication es de tipo sysname y su valor predeterminado es NULL.[ @article= ] 'article'
Nombre del artículo para el que se está registrando el procedimiento almacenado personalizado o el script. article es de tipo sysname y su valor predeterminado es NULL.
Valores de código de retorno
0 (correcto) o 1 (error)
Comentarios
sp_register_custom_scripting se utiliza en la replicación de instantáneas y transaccional.
Se debe ejecutar este procedimiento almacenado antes de realizar un cambio en el esquema en una tabla replicada. Para obtener más información acerca del uso de este procedimiento almacenado, vea Volver a generar procedimientos transaccionales personalizados para reflejar cambios de esquema.
Permisos
Solo los miembros del rol fijo de servidor sysadmin o de los roles fijos de base de datos db_owner o db_ddladmin pueden ejecutar sp_register_custom_scripting.