sp_repldone (Transact-SQL)

Aplica-se a:SQL ServerInstâ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. sp_repldone só deve ser usado para solucionar problemas de replicação conforme orientado por um profissional de suporte de replicação experiente.

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 da ú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. o tempo é 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 (fracasso)

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 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)