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.
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.
Valori restituiti
0 (esito positivo) o 1 (esito negativo)
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. 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. |
Vedere anche
Riferimento
sp_replcmds (Transact-SQL)
sp_replflush (Transact-SQL)
sp_repltrans (Transact-SQL)
Stored procedure di sistema (Transact-SQL)