Compartilhar via


sp_register_custom_scripting (Transact-SQL)

Aplica-se: SQL Server

A replicação permite procedimentos armazenados personalizados definidos pelo usuário, para substituir um ou mais dos procedimentos padrão usados em replicação transacional. Quando uma alteração de esquema é feita em uma tabela replicada, esses procedimentos armazenados são recriados.

sp_register_custom_scripting registra um procedimento armazenado ou arquivo de script Transact-SQL que é executado quando ocorre uma alteração de esquema para criar scripts para a definição de um novo procedimento armazenado personalizado definido pelo usuário. Esse novo procedimento armazenado personalizado deve refletir o novo esquema da tabela. sp_register_custom_scripting é executado no Publicador no banco de dados de publicação e o arquivo de script registrado ou procedimento armazenado é executado no Assinante quando ocorre uma alteração de esquema.

Convenções de sintaxe de Transact-SQL

Sintaxe

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

Argumentos

@type [ = ] 'tipo'

O tipo de procedimento armazenado personalizado ou script que está sendo registrado. @type é varchar(16) e pode ser um dos seguintes valores.

Valor Descrição
insert O procedimento armazenado personalizado registrado é executado quando uma INSERT instrução é replicada.
update O procedimento armazenado personalizado registrado é executado quando uma UPDATE instrução é replicada.
delete O procedimento armazenado personalizado registrado é executado quando uma DELETE instrução é replicada.
custom_script O script é executado ao término do gatilho DDL (Data Definition Language).

@value [ = ] N'valor'

Nome de um procedimento armazenado ou nome e caminho totalmente qualificado para o arquivo de script Transact-SQL que está sendo registrado. @value é nvarchar(2048), sem padrão.

Especificar NULL para @value cancela o registro de um script registrado anteriormente, que é o mesmo que executar sp_unregister_custom_scripting.

Quando o valor de @type é custom_script, o nome e o caminho completo de um arquivo de script Transact-SQL são esperados. Caso contrário, @value deve ser o nome de um procedimento armazenado registrado.

@publication [ = ] N'publicação'

Nome da publicação para a qual o procedimento armazenado personalizado ou script está sendo registrado. @publication é sysname, com um padrão de NULL.

@article [ = ] N'artigo'

Nome do artigo para o qual o procedimento armazenado personalizado ou script está sendo registrado. @article é sysname, com um padrão de NULL.

Valores do código de retorno

0 (sucesso) ou 1 (falha).

Comentários

sp_register_custom_scripting é usado na replicação de instantâneo e transacional.

Esse procedimento armazenado deve ser executado antes de fazer uma alteração de esquema em uma tabela replicada. Para obter mais informações sobre como usar esse procedimento armazenado, consulte Artigos transacionais – Regenerar para refletir alterações de esquema.

Permissões

Somente membros da função de servidor fixa sysadmin , da função de banco de dados fixa db_owner ou da função de banco de dados fixa db_ddladmin podem executar sp_register_custom_scripting.