Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:SQL Server
Azure SQL Managed Instance
Hiermee wordt de record bijgewerkt die de laatste gedistribueerde transactie van de server identificeert. Deze opgeslagen procedure wordt uitgevoerd bij Publisher in de publicatiedatabase.
Voorzichtigheid
Als u sp_repldone
handmatig uitvoert, kunt u de volgorde en consistentie van geleverde transacties ongeldig maken. U moet alleen sp_repldone
gebruiken voor het oplossen van problemen met replicatie, zoals wordt geleid door een ervaren replicatieondersteuningsmedewerker.
Transact-SQL syntaxisconventies
Syntaxis
sp_repldone [ @xactid = ] xactid
, [ @xact_seqno = ] xact_seqno
[ , [ @numtrans = ] numtrans ]
[ , [ @time = ] time ]
[ , [ @reset = ] reset ]
[ ; ]
Argumenten
Belangrijk
Argumenten voor uitgebreide opgeslagen procedures moeten worden ingevoerd in de specifieke volgorde, zoals beschreven in de sectie Syntaxis. Als de parameters niet in de volgorde zijn ingevoerd, treedt er een foutbericht op.
[ @xactid = ] xactid
Het logboekreeksnummer (LSN) van de eerste record voor de laatste gedistribueerde transactie van de server. @xactid is binaire(10), zonder standaardinstelling.
[ @xact_seqno = ] xact_seqno
De LSN van de laatste record voor de laatste gedistribueerde transactie van de server. @xact_seqno is binaire(10), zonder standaardinstelling.
[ @numtrans = ]
Het aantal gedistribueerde transacties. @numtrans is int, zonder standaardinstelling.
[ @time = ] tijd
Het aantal milliseconden, indien opgegeven, dat nodig is om de laatste batch transacties te distribueren. @time is int, zonder standaardinstelling.
[ @reset = ] opnieuw instellen
De resetstatus. @reset is int, zonder standaardinstelling.
- Als
1
, worden alle gerepliceerde transacties in het logboek gemarkeerd als gedistribueerd. - Als
0
, wordt het transactielogboek opnieuw ingesteld op de eerste gerepliceerde transactie en worden er geen gerepliceerde transacties gemarkeerd als gedistribueerd.
@reset is alleen geldig wanneer zowel @xactid als @xact_seqno zijn NULL
.
Codewaarden retourneren
0
(geslaagd) of 1
(mislukt).
Opmerkingen
sp_repldone
wordt gebruikt in transactionele replicatie.
sp_repldone
wordt gebruikt door het logboeklezerproces om bij te houden welke transacties zijn gedistribueerd.
Met sp_repldone
kunt u de server handmatig laten weten dat een transactie is gerepliceerd (verzonden naar de distributeur). Hiermee kunt u ook de transactie wijzigen die is gemarkeerd als de volgende transactie die wacht op replicatie. U kunt vooruit of achteruit gaan in de lijst met gerepliceerde transacties. (Alle transacties kleiner dan of gelijk aan die transactie worden gemarkeerd als gedistribueerd.)
De vereiste parameters @xactid en @xact_seqno kunnen worden verkregen met behulp van sp_repltrans
of sp_replcmds
.
Deze procedure kan worden gebruikt in noodsituaties om afkapping van het transactielogboek mogelijk te maken wanneer er transacties in behandeling zijn. Zie de sectie Voorbeelden voor meer informatie.
Machtigingen
Leden van de sysadmin vaste serverfunctie of de db_owner vaste databaserol kunnen sp_repldone
uitvoeren.
Voorbeelden
Wanneer @xactid is NULL
, wordt @xact_seqnoNULL
en wordt @reset1
, worden alle gerepliceerde transacties in het logboek gemarkeerd als gedistribueerd. Dit is handig wanneer er gerepliceerde transacties in het transactielogboek staan die niet meer geldig zijn en u het logboek wilt afkappen, bijvoorbeeld:
EXEC sp_repldone
@xactid = NULL,
@xact_seqno = NULL,
@numtrans = 0,
@time = 0,
@reset = 1;
Verwante inhoud
- sp_replcmds (Transact-SQL)
- sp_replflush (Transact-SQL)
- sp_repltrans (Transact-SQL)
- systeem opgeslagen procedures (Transact-SQL)