Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Managed Instance
Uppdaterar posten som identifierar serverns senaste distribuerade transaktion. Den här lagrade proceduren körs i Publisher i publikationsdatabasen.
Försiktighet
Om du kör sp_repldone
manuellt kan du ogiltigförklara ordningen och konsekvensen för levererade transaktioner. Du bör bara använda sp_repldone
för att felsöka replikering enligt anvisningar från en erfaren supportpersonal för replikering.
Transact-SQL syntaxkonventioner
Syntax
sp_repldone [ @xactid = ] xactid
, [ @xact_seqno = ] xact_seqno
[ , [ @numtrans = ] numtrans ]
[ , [ @time = ] time ]
[ , [ @reset = ] reset ]
[ ; ]
Argument
Viktig
Argument för utökade lagrade procedurer måste anges i den specifika ordning som beskrivs i avsnittet Syntax. Om parametrarna anges i fel ordning visas ett felmeddelande.
[ @xactid = ] xactid
Loggsekvensnumret (LSN) för den första posten för serverns senaste distribuerade transaktion. @xactid är binary(10), utan standard.
[ @xact_seqno = ] xact_seqno
LSN för den senaste posten för serverns senaste distribuerade transaktion. @xact_seqno är binary(10), utan standard.
[ @numtrans = ] numtrans
Antalet distribuerade transaktioner. @numtrans är int, utan standard.
[ @time = ] tid
Antalet millisekunder, om det tillhandahålls, behövs för att distribuera den sista batchen med transaktioner. @time är int, utan standard.
[ @reset = ] återställa
Återställningsstatus. @reset är int, utan standard.
- Om
1
markeras alla replikerade transaktioner i loggen som distribuerade. - Om
0
återställs transaktionsloggen till den första replikerade transaktionen och inga replikerade transaktioner markeras som distribuerade.
@reset är endast giltigt när både @xactid och @xact_seqno är NULL
.
Returnera kodvärden
0
(lyckades) eller 1
(fel).
Anmärkningar
sp_repldone
används i transaktionsreplikering.
sp_repldone
används av loggläsarprocessen för att spåra vilka transaktioner som har distribuerats.
Med sp_repldone
kan du manuellt meddela servern att en transaktion har replikerats (skickats till distributören). Du kan också ändra transaktionen som markerats som nästa som väntar på replikering. Du kan gå framåt eller bakåt i listan över replikerade transaktioner. (Alla transaktioner som är mindre än eller lika med den transaktionen markeras som distribuerade.)
De obligatoriska parametrarna @xactid och @xact_seqno kan hämtas med hjälp av sp_repltrans
eller sp_replcmds
.
Den här proceduren kan användas i nödsituationer för att tillåta trunkering av transaktionsloggen när transaktioner som väntar på replikering finns. Mer information finns i avsnittet Exempel.
Behörigheter
Medlemmar i sysadmin fast serverroll eller db_owner fast databasroll kan köra sp_repldone
.
Exempel
När @xactid är NULL
, @xact_seqno är NULL
och @reset är 1
markeras alla replikerade transaktioner i loggen som distribuerade. Detta är användbart när det finns replikerade transaktioner i transaktionsloggen som inte längre är giltiga och du vill trunkera loggen, till exempel:
EXEC sp_repldone
@xactid = NULL,
@xact_seqno = NULL,
@numtrans = 0,
@time = 0,
@reset = 1;