sp_repldone (Transact-SQL)
Aplica-se a: SQL Server Instância Gerenciada de SQL do Azure
Atualiza o registro que identifica a última transação distribuída do servidor. Esse procedimento armazenado é executado no Publicador, no banco de dados publicador.
Cuidado
Se você executar sp_repldone
manualmente, poderá invalidar a ordem e a consistência das transações entregues. Você só deve usar sp_repldone
para solucionar problemas de replicação conforme indicado por um profissional experiente em suporte de replicação.
Convenções de sintaxe de Transact-SQL
Sintaxe
sp_repldone [ @xactid = ] xactid
, [ @xact_seqno = ] xact_seqno
[ , [ @numtrans = ] numtrans ]
[ , [ @time = ] time ]
[ , [ @reset = ] reset ]
[ ; ]
Argumentos
@xactid [ = ] xactídeo
O LSN (número de seqüência de log) do primeiro registro para a última transação distribuída do servidor. @xactid é binary(10), sem padrão.
@xact_seqno [ = ] xact_seqno
O LSN do último registro para a última transação distribuída do servidor. @xact_seqno é binary(10), sem padrão.
@numtrans [ = ] numtrans
O número de transações distribuídas. @numtrans é int, sem padrão.
@time [ = ] tempo
O número de milissegundos, se fornecido, necessário para distribuir o último lote de transações. @time é int, sem padrão.
@reset [ = ] redefinir
O status de redefinição. @reset é int, sem padrão.
- Se
1
, todas as transações replicadas no log serão marcadas como distribuídas. - Se
0
, o log de transações será redefinido para a primeira transação replicada e nenhuma transação replicada será marcada como distribuída.
@reset é válido apenas quando @xactid e @xact_seqno são NULL
.
Valores do código de retorno
0
(sucesso) ou 1
(falha).
Comentários
sp_repldone
é usado na replicação transacional.
sp_repldone
é usado pelo processo do leitor de log para rastrear quais transações foram distribuídas.
Com sp_repldone
o , você pode informar manualmente ao servidor que uma transação foi replicada (enviada ao Distribuidor). Ele também permite alterar a transação marcada como a próxima a ser replicada. Você pode avançar ou retroceder na lista de transações replicadas. (Todas as transações menores ou iguais àquela transação serão marcadas como distribuídas.)
Os parâmetros necessários @xactid e @xact_seqno podem ser obtidos usando sp_repltrans
ou sp_replcmds
.
Esse procedimento pode ser usado em situações emergenciais para permitir o truncamento do log de transações quando houver replicação pendente de transações. Para obter mais informações, consulte a seção Exemplos.
Permissões
Os membros da função de servidor fixa sysadmin ou da função de banco de dados fixa db_owner podem executar sp_repldone
.
Exemplos
Quando @xactid é NULL
, @xact_seqno é NULL
, e @reset é 1
, todas as transações replicadas no log são marcadas como distribuídas. Isso é útil quando há transações replicadas no log de transações que não são mais válidas e você quer truncar o log, por exemplo:
EXEC sp_repldone
@xactid = NULL,
@xact_seqno = NULL,
@numtrans = 0,
@time = 0,
@reset = 1;