sys.sp_setsubscriptionxactseqno (Transact-SQL)

Aplica-se a: SQL Server

Usado durante a resolução de problemas para especificar a última transação entregue usando o número de sequência de log (LSN), permitindo que o Distribution Agent comece a entregar na próxima transação. Depois de reiniciar, o Distribution Agent devolve transações superiores a esta marca de água (LSN) da cache da base de dados de Distribuição (msrepl_commands). Este procedimento armazenado é executado no Assinante na base de dados de subscrição. Não é suportado para assinantes que não sejam do SQL Server.

Caution

Usar este procedimento armazenado incorretamente ou especificar um valor LSN incorreto pode fazer com que o Distribution Agent reverta alterações já aplicadas no Assinante ou ignore todas as alterações restantes.

Transact-SQL convenções de sintaxe

Syntax

sys.sp_setsubscriptionxactseqno
    [ @publisher = ] N'publisher'
    , [ @publisher_db = ] N'publisher_db'
    , [ @publication = ] N'publication'
    , [ @xact_seqno = ] xact_seqno
[ ; ]

Arguments

@publisher [ = ] N'editor'

O nome do Editor. @publisher é sysname, sem padrão.

[ @publisher_db = ] N'publisher_db'

O nome da base de dados de publicações. @publisher_db é sysname, sem padrão. Para um não-SQL Server Publisher, @publisher_db é o nome da base de dados de distribuição.

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

O nome da publicação. @publication é sysname, sem padrão. Quando mais do que uma publicação partilha a Distribution Agent, deve especificar um valor de ALL para @publication.

[ @xact_seqno = ] xact_seqno

O LSN da próxima transação no Distribuidor a ser aplicado no Assinante. @xact_seqno é varbinary(16), sem padrão.

Conjunto de resultados

Nome da coluna Tipo de dados Description
ORIGINAL XACT_SEQNO Varbinário(16) O LSN original da próxima transação a ser aplicada ao Assinante.
UPDATED XACT_SEQNO Varbinário(16) O LSN atualizado da próxima transação a ser aplicada ao Assinante.
SUBSCRIPTION STREAM COUNT int O número de fluxos de subscrição usados durante a última sincronização.

Valores de código de retorno

0 (sucesso) ou 1 (fracasso).

Remarks

sp_setsubscriptionxactseqno é usado na replicação transacional.

sp_setsubscriptionxactseqno não pode ser usado numa topologia de replicação transacional peer-to-peer.

sp_setsubscriptionxactseqno pode ser usado para saltar uma transação específica que está a causar um erro quando se aplica ao Assinante. Quando houver uma falha e depois de a Distribution Agent parar, ligue para sp_helpsubscriptionerrors no Distribuidor para recuperar o xact_seqno valor da transação falhada e depois ligue sp_setsubscriptionxactseqno, passando esse valor para @xact_seqno. Isto garante que apenas os comandos posteriores a este LSN são processados.

Especifique um valor de 0 para @xact_seqno entregar todos os comandos pendentes na base de dados de distribuição ao Assinante.

sp_setsubscriptionxactseqnopode falhar se o Distribution Agent usar fluxos multi-subscrição.

Quando este erro ocorre, deve executar o Distribution Agent com um único fluxo de subscrição. Para obter mais informações, consulte Replication Distribution Agent.

Permissions

Apenas os membros do papel fixo de servidor administrador do sistema ou db_owner papel fixo de base de dados podem executar sp_setsubscriptionxactseqno.