Compartilhar via


sp_register_custom_scripting (Transact-SQL)

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 um banco de dados replicado, esses procedimentos armazenados são recriados. sp_register_custom_scripting registra um procedimento armazenado ou arquivo de script Transact-SQL que é executado quando uma alteração de esquema ocorre para gerar um script de definição para o novo procedimento armazenado personalizado. Esse novo procedimento armazenado personalizado definido pelo usuário deve refletir o novo esquema para a tabela. sp_register_custom_scripting é executado no Publicador, no banco de dados de publicação, e o arquivo de script registrado, ou o procedimento armazenado, é executado no Assinante quando ocorre uma alteração de esquema.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

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

Argumentos

  • [ @type = ] 'type'
    É o tipo de procedimento armazenado ou script sendo registrado. type é varchar(16), sem padrão, e pode ser um dos valores a seguir.

    Valor

    Descrição

    insert

    Procedimento armazenado personalizado registrado é executado quando uma instrução INSERT é replicada.

    update

    Procedimento armazenado personalizado registrado é executado quando uma instrução UPDATE é replicada.

    delete

    Procedimento armazenado personalizado registrado é executado quando uma instrução DELETE é replicada.

    custom_script

    O script é executado ao término do disparador DDL (Data Definition Language).

  • [ @value= ] 'value'
    Nome de um procedimento armazenado ou nome e caminho completamente qualificado para o arquivo de script Transact-SQL que está sendo registrado. value é nvarchar(1024), sem padrão.

    ObservaçãoObservação

    A especificação de NULL para o parâmetro value irá cancelar o registro de um script registrado anteriormente, e é o mesmo que executar sp_unregister_custom_scripting.

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

  • [ @publication= ] 'publication'
    Nome da publicação para a qual o procedimento armazenado ou script estão sendo registrados. publication é sysname, com um padrão NULL.

  • [ @article = ] 'article'
    Nome do artigo para o qual o procedimento armazenado ou script estão sendo registrados. article é sysname, com um padrão NULL.

Valores de código de retorno

0 (êxito) ou 1 (falha)

Comentários

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

Esse procedimento armazenado deve ser executado antes de efetuar uma alteração de esquema em uma tabela replicada. Para obter mais informações sobre como usar esse procedimento armazenado, consulte Regenerando os procedimentos transacionais personalizados para refletir alterações de esquema.

Permissões

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

Consulte também

Referência