sp_repldone (Transact-SQL)sp_repldone (Transact-SQL)

APLICA-SE A: simSQL Server simBanco de Dados SQL do Azure (somente a Instância Gerenciada) nãoAzure Synapse Analytics (SQL DW) nãoParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database (Managed Instance only) noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Atualiza o registro que identifica a última transação distribuída do servidor.Updates the record that identifies the last distributed transaction of the server. Esse procedimento armazenado é executado no Publicador, no banco de dados publicador.This stored procedure is executed at the Publisher on the publication database.

Cuidado

Se você executar sp_repldone manualmente, poderá invalidar a ordem e a consistência das transações entregues.If you execute sp_repldone manually, you can invalidate the order and consistency of delivered transactions. sp_repldone só deve ser usado para solucionar problemas de replicação, conforme indicado por um profissional de suporte de replicação experiente.sp_repldone should only be used for troubleshooting replication as directed by an experienced replication support professional.

Ícone de link do tópico Convenções de sintaxe Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxeSyntax

sp_repldone [ @xactid= ] xactid   
        , [ @xact_seqno= ] xact_seqno   
    [ , [ @numtrans= ] numtrans ]   
    [ , [ @time= ] time   
    [ , [ @reset= ] reset ]  

ArgumentosArguments

[ @xactid = ] xactid é o LSN (número de sequência de log) do primeiro registro da última transação distribuída do servidor.[ @xactid = ] xactid Is the log sequence number (LSN) of the first record for the last distributed transaction of the server. xactid é binary (10) , sem padrão.xactid is binary(10), with no default.

[ @xact_seqno = ] xact_seqno é o LSN do último registro para a última transação distribuída do servidor.[ @xact_seqno = ] xact_seqno Is the LSN of the last record for the last distributed transaction of the server. xact_seqno é binary (10) , sem padrão.xact_seqno is binary(10), with no default.

[ @numtrans = ] numtrans é o número de transações distribuídas.[ @numtrans = ] numtrans Is the number of transactions distributed. numtrans é int, sem padrão.numtrans is int, with no default.

[ @time = ] time é o número de milissegundos, se fornecido, necessário para distribuir o último lote de transações.[ @time = ] time Is the number of milliseconds, if provided, needed to distribute the last batch of transactions. o tempo é int, sem padrão.time is int, with no default.

[ @reset = ] reset é o status de redefinição.[ @reset = ] reset Is the reset status. Reset é int, sem padrão.reset is int, with no default. Se 1, todas as transações replicadas no log serão marcadas como distribuídas.If 1, all replicated transactions in the log are marked as distributed. Se for 0, o log de transações será redefinido para a primeira transação replicada e nenhuma das transações replicadas será marcada como distribuída.If 0, the transaction log is reset to the first replicated transaction and no replicated transactions are marked as distributed. Reset é válido somente quando xactid e xact_seqno são nulos.reset is valid only when both xactid and xact_seqno are NULL.

Valores do código de retornoReturn Code Values

0 (êxito) ou 1 (falha)0 (success) or 1 (failure)

RemarksRemarks

sp_repldone é usado na replicação transacional.sp_repldone is used in transactional replication.

sp_repldone é usado pelo processo do leitor de log para controlar quais transações foram distribuídas.sp_repldone is used by the log reader process to track which transactions have been distributed.

Com o sp_repldone, você pode informar manualmente ao servidor que uma transação foi replicada (enviada para o distribuidor).With sp_repldone, you can manually tell the server that a transaction has been replicated (sent to the Distributor). Ele também permite alterar a transação marcada como a próxima a ser replicada.It also allows you to change the transaction marked as the next one awaiting replication. Você pode avançar ou retroceder na lista de transações replicadas.You can move forward or backward in the list of replicated transactions. (Todas as transações menores ou iguais àquela transação serão marcadas como distribuídas.)(All transactions less than or equal to that transaction are marked as distributed.)

Os parâmetros necessários xactid e xact_seqno podem ser obtidos usando sp_repltrans ou sp_replcmds.The required parameters xactid and xact_seqno can be obtained by using sp_repltrans or sp_replcmds.

PermissõesPermissions

Os membros da função de servidor fixa sysadmin ou a função de banco de dados fixa db_owner podem ser executados sp_repldone.Members of the sysadmin fixed server role or the db_owner fixed database role can execute sp_repldone.

ExemplosExamples

Quando xactid é nulo, xact_seqno é nulo e Reset é 1, todas as transações replicadas no log são marcadas como distribuídas.When xactid is NULL, xact_seqno is NULL, and reset is 1, all replicated transactions in the log are marked as distributed. 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:This is useful when there are replicated transactions in the transaction log that are no longer valid and you want to truncate the log, for example:

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.This procedure can be used in emergency situations to allow truncation of the transaction log when transactions pending replication are present.

Consulte tambémSee Also

sp_replcmds (Transact-SQL) sp_replcmds (Transact-SQL)
sp_replflush (Transact-SQL) sp_replflush (Transact-SQL)
sp_repltrans (Transact-SQL) sp_repltrans (Transact-SQL)
Procedimentos armazenados do sistema (Transact-SQL)System Stored Procedures (Transact-SQL)