共用方式為


sp_repldone (Transact-SQL)

更新用來識別伺服器最後分散式交易的記錄。這個預存程序執行於發行集資料庫的發行者端。

警告注意事項注意

如果您以手動方式來執行 sp_repldone,您可以使所傳遞交易的順序和一致性失效。您只應在資深複寫支援專家的指導下,才利用 sp_repldone 來進行複寫的疑難排解。

主題連結圖示Transact-SQL 語法慣例

語法

sp_repldone [ @xactid= ] xactid 
        , [ @xact_seqno= ] xact_seqno 
    [ , [ @numtrans= ] numtrans ] 
    [ , [ @time= ] time 
    [ , [ @reset= ] reset ]

引數

  • [@xactid=] xactid
    這是伺服器最後分散式交易第一筆記錄的記錄序號 (LSN)。xactid 是 binary(10),沒有預設值。

  • [@xact_seqno=] xact_seqno
    這是伺服器最後分散式交易最後一筆記錄的 LSN。xact_seqno 是 binary(10),沒有預設值。

  • [@numtrans=] numtrans
    這是散發的交易數目。numtrans 是 int,沒有預設值。

  • [@time=] time
    這是散發最後一批交易所需要的毫秒數 (如果提供的話)。time 是 int,沒有預設值。

  • [@reset=] reset
    這是重設狀態。reset 是 int,沒有預設值。如果是 1,記錄中所有複寫的交易都會標示成已散發。如果是 0,交易記錄會重設為第一個複寫的交易,且不會有任何複寫的交易標示成已散發。只有在 xactidxact_seqno 都是 NULL 時,reset 才有效。

傳回碼值

0 (成功) 或 1 (失敗)

備註

sp_repldone 用於交易式複寫中。

sp_repldone 由記錄閱讀器處理序所使用,用於追蹤哪些交易已被散發。

記錄讀取器處理序利用 sp_repldone 來追蹤已散發的交易。它也可讓您變更標示成下一項等待複寫的交易。您可以在複寫交易清單中,向前或向後移動。(所有小於或等於這項交易的交易都會標示成已散發。)

您可以利用 xactidxact_seqno 來取得必要的參數 sp_repltranssp_replcmds

權限

系統管理員 (sysadmin) 固定伺服器角色或 db_owner 固定資料庫角色的成員,才能夠執行 sp_repldone

範例

xactid 是 NULL、xact_seqno 是 NULL,且 reset1,記錄中所有複寫的交易都會標示成已散發。當交易記錄中有不再有效的複寫交易,且您要截斷記錄時,這便非常有用,例如:

EXEC sp_repldone @xactid = NULL, @xact_segno = NULL, @numtrans = 0,     @time = 0, @reset = 1
警告注意事項注意

如果出現緊急狀況,您可以利用這個程序,以便在有交易暫止複寫存在時截斷交易記錄。使用這個程序可以防止 Microsoft SQL Server 2000 複寫資料庫,直到資料庫取消發行和重新發行為止。