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.

Nota di attenzioneAttenzione

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.

Icona di collegamento a un argomentoConvenzioni 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
Nota di attenzioneAttenzione

È 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. L'utilizzo di questa procedura impedisce la replica del database in Microsoft SQL Server 2000 fino a quando non ne viene annullata e quindi rieseguita la pubblicazione.