sp_repldone (Transact-SQL)

Si applica a:SQL Server Istanza gestita di SQL di Azure

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 sp_repldone manualmente, è possibile invalidare l'ordine e la coerenza delle transazioni recapitate. sp_repldone deve essere usato solo per la risoluzione dei problemi di replica come indicato da un esperto professionista del supporto per la replica.

Convenzioni di 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 log (LSN) del primo record per l'ultima transazione distribuita del server. xactid è binary(10), senza impostazione predefinita.

[ @xact_seqno = ] xact_seqno LSN dell'ultimo record per l'ultima transazione distribuita del server. xact_seqno è binary(10), senza impostazione predefinita.

[ @numtrans = ] numtrans Numero di transazioni distribuite. numtrans è int, senza impostazione predefinita.

[ @time = ] time Numero di millisecondi, se specificato, necessario per distribuire l'ultimo batch di transazioni. time è int, senza impostazione predefinita.

[ @reset = ] reset Stato di reimpostazione. reset è int, senza impostazione predefinita. 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 del codice restituito

0 (esito positivo) o 1 (errore)

Osservazioni:

sp_repldone viene usato nella replica transazionale.

sp_repldone viene usato dal processo di lettura log per tenere traccia delle transazioni distribuite.

Con sp_repldone, è possibile indicare manualmente al server che una transazione è stata replicata (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.

I parametri obbligatori xactid e xact_seqno possono essere ottenuti usando sp_repltrans o sp_replcmds.

Autorizzazioni

I membri del ruolo predefinito del server sysadmin o del ruolo predefinito del database db_owner possono essere eseguiti 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_seqno = 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.

Vedi anche

sp_replcmds (Transact-SQL)
sp_replflush (Transact-SQL)
sp_repltrans (Transact-SQL)
Stored procedure di sistema (Transact-SQL)