Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
azure SQL Managed Instance
Aktualizuje záznam, který identifikuje poslední distribuovanou transakci serveru. Tato uložená procedura se spustí v Publisheru v databázi publikace.
Opatrnost
Pokud provádíte sp_repldone ručně, můžete zneplatnit pořadí a konzistenci doručených transakcí. K řešení potíží s replikací byste měli použít pouze sp_repldone podle pokynů zkušeného odborníka na podporu replikace.
Syntax
sp_repldone [ @xactid = ] xactid
, [ @xact_seqno = ] xact_seqno
[ , [ @numtrans = ] numtrans ]
[ , [ @time = ] time ]
[ , [ @reset = ] reset ]
[ ; ]
Argumenty
Důležitý
Argumenty rozšířených uložených procedur musí být zadány v určitém pořadí, jak je popsáno v části Syntaxe. Pokud jsou parametry zadány mimo pořadí, dojde k chybové zprávě.
[ @xactid = ] xactid
Pořadové číslo protokolu (LSN) prvního záznamu pro poslední distribuovanou transakci serveru. @xactid je binární (10), bez výchozího nastavení.
[ @xact_seqno = ] xact_seqno
LSN posledního záznamu poslední distribuované transakce serveru. @xact_seqno je binární (10), bez výchozího nastavení.
[ @numtrans = ] numtrans
Počet distribuovaných transakcí. @numtrans je int, bez výchozího nastavení.
[ @time = ] čas
Počet milisekund, pokud je k dispozici, potřebný k distribuci poslední dávky transakcí. @time je int, bez výchozího nastavení.
[ @reset = ] resetování
Stav resetování. @reset je , bez výchozího nastavení.
- Pokud
1, všechny replikované transakce v protokolu se označí jako distribuované. - Pokud
0, transakční protokol se resetuje na první replikovanou transakci a žádné replikované transakce se označí jako distribuované.
@reset je platný pouze v případech, kdy jsou NULL@xactid i @xact_seqno .
Návratové hodnoty kódu
0 (úspěch) nebo 1 (selhání).
Poznámky
sp_repldone se používá v transakční replikaci.
sp_repldone používá proces čtečky protokolů ke sledování, které transakce byly distribuovány.
Pomocí sp_repldonemůžete ručně serveru sdělit, že byla replikována transakce (odeslána distributorovi). Umožňuje také změnit transakci označenou jako další čekající replikaci. V seznamu replikovaných transakcí se můžete pohybovat dopředu nebo dozadu. (Všechny transakce menší než nebo rovno této transakci jsou označeny jako distribuované.)
Požadované parametry @xactid a @xact_seqno lze získat pomocí sp_repltrans nebo sp_replcmds.
Tento postup lze použít v situacích tísňového volání, aby bylo možné zkrátit transakční protokol, pokud jsou k dispozici transakce čekající na replikaci. Další informace najdete v části Příklady.
Dovolení
Členové správce systému pevné role serveru nebo db_owner pevné databázové role mohou provádět sp_repldone.
Příklady
Pokud je @xactidNULL, @xact_seqno je NULLa @reset je 1, všechny replikované transakce v protokolu jsou označené jako distribuované. To je užitečné, když v transakčním protokolu existují replikované transakce, které už nejsou platné a chcete protokol zkrátit, například:
EXECUTE sp_repldone
@xactid = NULL,
@xact_seqno = NULL,
@numtrans = 0,
@time = 0,
@reset = 1;
Související obsah
- sp_replcmds (Transact-SQL)
- sp_replflush (Transact-SQL)
- sp_repltrans (Transact-SQL)
- uložené procedury systému (Transact-SQL)