sp_setsubscriptionxactseqno (Transact-SQL)
Usado durante a solução de problemas para especificar o LSN (número de sequência de log) da próxima transação a ser aplicada pelo Distribution Agent no Assinante, o que permite que o agente ignore uma transação com falha. Esse procedimento armazenado é executado no Assinante, no banco de dados de assinatura. Sem suporte para Assinantes não SQLServer.
Cuidado |
---|
O uso incorreto desse procedimento armazenado ou a especificação incorreta de um valor LSN pode fazer com que o Distribution Agent reverta as alterações que já tinham sido aplicadas no Assinante ou ignore todas as alterações restantes. |
Sintaxe
sp_setsubscriptionxactseqno [ @publisher = ] 'publisher'
, [ @publisher_db = ] 'publisher_db'
, [ @publication = ] 'publication'
, [ @xact_seqno = ] xact_seqno
Argumentos
[ @publisher= ] 'publisher'
É o nome do Publicador. publisher é sysname, sem padrão.[ @publisher_db= ] 'publisher_db'
É o nome do banco de dados de publicação. publisher_db é sysname, sem padrão. Para um Editor não SQL Server, publisher_db é o nome do banco de dados de distribuição.[ @publication= ] 'publication'
É o nome da publicação. publication é sysname, sem padrão. Quando o Distribution Agente compartilhado por mais de uma publicação, você deve especificar um valor de ALL para publication.[ @xact_seqno= ] xact_seqno
É o xact_seqno da transação que está causando um erro no Assinante. xact_seqno é varbinary (16), sem nenhum padrão.
Conjunto de resultados
Nome da coluna |
Tipo de dados |
Descrição |
---|---|---|
ORIGINAL XACT_SEQNO |
varbinary(16) |
É o LSN original da próxima transação a ser aplicada no Assinante. |
UPDATED XACT_SEQNO |
varbinary(16) |
É o LSN atualizado da próxima transação a ser aplicada no Assinante. |
SUBSCRIPTION STREAM COUNT |
int |
O número de fluxos de assinatura usado durante a última sincronização. |
Valores de código de retorno
0 (êxito) ou 1 (falha)
Comentários
sp_setsubscriptionxactseqno é usado em replicação transacional.
sp_setsubscriptionxactseqno não pode ser usado em uma topologia de replicação transacional ponto a ponto.
sp_setsubscriptionxactseqno pode ser usado para ignorar uma transação específica que está causando um erro quando aplicada ao Assinante. Quando existe uma falha e antes que o Distribution Agent pare, chame sp_helpsubscriptionerrors (Transact-SQL) no Distribuidor para recuperar o valor xact_seqno da transação com falha e depois chame sp_setsubscriptionxactseqno, passando esse valor para xact_seqno. Isso assegurará que somente os comandos após esse LSN sejam processados.
Especifique um valor de 0 para xact_seqno para entregar todos os comandos pendentes no banco de dados de distribuição para o Assinante.
sp_setsubscriptionxactseqno poderá falhar se o Distribution Agent usar fluxos de várias assinaturas.
Quando esse erro ocorre, você deve executar o Distribution Agent com um fluxo de uma única assinatura. Para obter mais informações, consulte Replication Distribution Agent.
Permissões
Somente membros da função de servidor fixa sysadmin ou db_owner podem executar sp_setsubscriptionxactseqno.