sp_repldone (Transact-SQL)
Aggiorna il record che identifica l'ultima transazione distribuita del server. Questa stored procedure viene eseguita nel database di pubblicazione del server di pubblicazione.
Attenzione |
---|
Se si esegue manualmente sp_repldone, si potrebbero invalidare l'ordine e la consistenza delle transazioni recapitate. È consigliabile utilizzare sp_repldone solo per attività di risoluzione dei problemi della replica e seguendo le istruzioni di un professionista del supporto tecnico esperto della replica. |
Convenzioni della sintassi Transact-SQL
Sintassi
sp_repldone [ @xactid= ] xactid
, [ @xact_seqno= ] xact_seqno
[ , [ @numtrans= ] numtrans ]
[ , [ @time= ] time
[ , [ @reset= ] reset ]
Argomenti
[ @xactid=] xactid
Numero di sequenza del file di log (LSN) del primo record relativo all'ultima transazione distribuita del server. xactid è di tipo binary(10) e non prevede alcun valore predefinito.[ @xact_seqno=] xact_seqno
LSN dell'ultimo record relativo all'ultima transazione distribuita del server. xact_seqno è di tipo binary(10) e non prevede alcun valore predefinito.[ @numtrans=] numtrans
Numero di transazioni distribuite. numtrans è di tipo int e non prevede alcun valore predefinito.[ @time=] time
Numero di millisecondi, se specificato, necessario per distribuire l'ultimo batch di transazioni. time è di tipo int e non prevede alcun valore predefinito.[ @reset=] reset
Stato della reimpostazione. reset è di tipo int e non prevede alcun valore predefinito. Se è 1, tutte le transazioni replicate nel log vengono contrassegnate come distribuite. Se è 0, il log delle transazioni viene reimpostato sulla prima transazione replicata e nessuna transazione replicata viene contrassegnata come distribuita. reset è valido solo quando xactid e xact_seqno sono NULL.
Valori restituiti
0 (esito positivo) o 1 (esito negativo)
Osservazioni
La stored procedure sp_repldone viene utilizzata per la replica transazionale.
La stored procedure sp_repldone viene utilizzata dal processo dell'agente di lettura log per tenere traccia delle transazioni distribuite.
Con sp_repldone è possibile comunicare al server in modo manuale che una transazione è stata replicata, ovvero inviata al server di distribuzione. È inoltre possibile cambiare la transazione contrassegnata come transazione successiva in attesa di replica e scorrere l'elenco delle transazioni replicate. Tutte le transazioni che precedono la transazione specificata, inclusa tale transazione, vengono contrassegnate come distribuite.
È possibile ottenere i parametri obbligatori xactid e xact_seqno con sp_repltrans o sp_replcmds.
Autorizzazioni
I membri del ruolo predefinito del server sysadmin o del ruolo predefinito del database db_owner possono eseguire sp_repldone.
Esempi
Quando xactid è NULL, xact_seqno è NULL e reset è 1, tutte le transazioni replicate nel log vengono contrassegnate come distribuite. Ciò risulta utile quando nel log delle transazioni sono presenti transazioni replicate non più valide e si desidera troncare il log, ad esempio:
EXEC sp_repldone @xactid = NULL, @xact_segno = NULL, @numtrans = 0, @time = 0, @reset = 1
Attenzione |
---|
È possibile utilizzare questa procedura in situazioni di emergenza per consentire il troncamento del log delle transazioni quando sono presenti transazioni in sospeso in attesa di replica. |