sp_addsynctriggers (Transact-SQL)
Aplica-se a: SQL Server
Cria gatilhos no Assinante usados com todos os tipos de assinaturas atualizáveis (atualização imediata, enfileirada e imediata com atualização enfileirada como failover). Esse procedimento armazenado é executado no Assinante no banco de dados de assinatura.
Importante
Deve ser utilizado o procedimento sp_script_synctran_commands em vez de sp_addsynctrigger
. sp_script_synctran_commands gera um script que contém as sp_addsynctrigger
chamadas.
Convenções de sintaxe de Transact-SQL
Sintaxe
sp_addsynctriggers
[ @sub_table = ] N'sub_table'
, [ @sub_table_owner = ] N'sub_table_owner'
, [ @publisher = ] N'publisher'
, [ @publisher_db = ] N'publisher_db'
, [ @publication = ] N'publication'
, [ @ins_proc = ] N'ins_proc'
, [ @upd_proc = ] N'upd_proc'
, [ @del_proc = ] N'del_proc'
, [ @cftproc = ] N'cftproc'
, [ @proc_owner = ] N'proc_owner'
[ , [ @identity_col = ] N'identity_col' ]
[ , [ @ts_col = ] N'ts_col' ]
[ , [ @filter_clause = ] N'filter_clause' ]
, [ @primary_key_bitmap = ] primary_key_bitmap
[ , [ @identity_support = ] identity_support ]
[ , [ @independent_agent = ] independent_agent ]
, [ @distributor = ] N'distributor'
[ , [ @pubversion = ] pubversion ]
[ , [ @dump_cmds = ] dump_cmds ]
[ ; ]
Argumentos
@sub_table [ = ] N'sub_table'
O nome da tabela Assinante. @sub_table é sysname, sem padrão.
@sub_table_owner [ = ] N'sub_table_owner'
O nome do proprietário da tabela Assinante. @sub_table_owner é sysname, sem padrão.
@publisher [ = ] N'editor'
O nome do servidor do Publicador. @publisher é sysname, sem padrão.
@publisher_db [ = ] N'publisher_db'
O nome do banco de dados Publicador. @publisher_db é sysname, sem padrão. Se NULL
, o banco de dados atual é usado.
@publication [ = ] N'publicação'
O nome da publicação. @publication é sysname, sem padrão.
@ins_proc [ = ] N'ins_proc'
O nome do procedimento armazenado que dá suporte a inserções de transações síncronas no Publicador. @ins_proc é sysname, sem padrão.
@upd_proc [ = ] N'upd_proc'
O nome do procedimento armazenado que dá suporte a atualizações de transações síncronas no Publicador. @upd_proc é sysname, sem padrão.
@del_proc [ = ] N'del_proc'
O nome do procedimento armazenado que dá suporte à transação síncrona é excluído no Publicador. @del_proc é sysname, sem padrão.
@cftproc [ = ] N'cftproc'
O nome do procedimento gerado automaticamente usado por publicações que permitem a atualização em fila. @cftproc é sysname, sem padrão. Para publicações que permitem atualização imediata, esse valor é NULL
. Este parâmetro se aplica a publicações que permitem atualização feita fila (Atualização Feita fila e Atualização Imediata com Atualização Feita fila como Failover).
@proc_owner [ = ] N'proc_owner'
Especifica a conta de usuário no Publicador sob a qual todos os procedimentos armazenados gerados automaticamente para atualizar a publicação (enfileirada e/ou imediata) foram criados. @proc_owner é sysname, sem padrão.
@identity_col [ = ] N'identity_col'
O nome da coluna de identidade no Publicador. @identity_col é sysname, com um padrão de NULL
.
@ts_col [ = ] N'ts_col'
O nome da coluna de carimbo de data/hora no Publicador. @ts_col é sysname, com um padrão de NULL
.
@filter_clause [ = ] N'filter_clause'
Uma cláusula de restrição (WHERE) que define um filtro horizontal. Ao inserir a cláusula de restrição, omita a palavra-chave WHERE. @filter_clause é nvarchar(4000), com um padrão de NULL
.
@primary_key_bitmap [ = ] primary_key_bitmap
Um mapa de bits das colunas de chave primária na tabela. @primary_key_bitmap é varbinary(4000), sem padrão.
@identity_support [ = ] identity_support
Ativa e desativa o tratamento do intervalo de identidade automático quando a atualização na fila é usada. @identity_support é bit, com um padrão de 0
.
0
significa que não há suporte para intervalo de identidade.1
Permite o tratamento automático do intervalo de identidade.
@independent_agent [ = ] independent_agent
Indica se há um único Distribution Agent (um agente independente) para esta publicação ou um Distribution Agent por banco de dados de publicação e par de banco de dados de assinatura (um agente compartilhado). @independent_agent é bit, com um padrão de 0
. Esse valor reflete o independent_agent
valor da propriedade da publicação definida no Publicador.
- Se
0
, o agente é um Agente Compartilhado. - Se
1
, o agente é um agente independente.
@distributor [ = ] N'distribuidor'
O nome do Distribuidor. @distributor é sysname, sem padrão.
@pubversion [ = ] pubversão
Indica a versão do Publicador. @pubversion é int, com um padrão de 1
.
1
significa que a versão do Publicador é SQL Server 2000 (8.x) Service Pack 2 ou versões anteriores.2
significa que o Publicador é o SQL Server 2000 (8.x) Service Pack 3 (SP 3) e versões posteriores.
@pubversion deve ser definido explicitamente como 2
quando a versão do Publicador for SQL Server 2000 (8.x) SP 3 e versões posteriores.
@dump_cmds [ = ] dump_cmds
Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.
Valores do código de retorno
0
(sucesso) ou 1
(falha).
Comentários
sp_addsynctriggers
é usado pelo Distribution Agent como parte da inicialização da assinatura. Esse procedimento armazenado normalmente não é executado pelos usuários, mas pode ser útil se o usuário precisar configurar uma assinatura sem sincronização manualmente.
Permissões
Somente membros da função de servidor fixa sysadmin ou db_owner função de banco de dados fixa podem executar sp_addsynctriggers
.