sp_repldone (Transact-SQL)
Aplica-se a: Instância Gerenciada de SQL do Azure do SQL Server
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. sp_repldone só devem ser usados 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 = ] xactid
É o número de sequência de log (LSN) 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 da ú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 = ] time
É o número de milissegundos, se fornecido, necessário para distribuir o último lote de transações. time é int, sem padrão.
[ @reset = ] reset
É 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 somente 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 de leitor de log para rastrear quais transações foram distribuídas.
Com o sp_repldone, 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.
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
Cuidado
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.
Confira também
sp_replcmds (Transact-SQL)
sp_replflush (Transact-SQL)
sp_repltrans (Transact-SQL)
Procedimentos armazenados do sistema (Transact-SQL)