Dela via


sp_repldone (Transact-SQL)

gäller för:SQL ServerAzure 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 1markeras 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_repldonekan 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 NULLoch @reset är 1markeras 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;