sp_setsubscriptionxactseqno (Transact-SQL)
適用於:SQL Server
用於疑難解答期間,使用記錄序號 (LSN) 指定最後一個傳遞的交易,讓 散發代理程式 在下一筆交易開始傳遞。 重新啟動之後,散發代理程式 會從散發資料庫快取傳回大於此浮水印 (LSN) 的交易(msrepl_commands)。 這個預存程式會在訂閱資料庫的訂閱者端執行。 不支援非 SQL Server 訂閱者。
警告
使用此預存程式不正確或指定不正確的 LSN 值,可能會導致 散發代理程式 還原已在訂閱者端套用的變更,或略過所有剩餘的變更。
語法
sp_setsubscriptionxactseqno
[ @publisher = ] N'publisher'
, [ @publisher_db = ] N'publisher_db'
, [ @publication = ] N'publication'
, [ @xact_seqno = ] xact_seqno
[ ; ]
引數
[ @publisher = ] N'publisher'
發行者的名稱。 @publisher為 sysname,沒有預設值。
[ @publisher_db = ] N'publisher_db'
發行集資料庫的名稱。 @publisher_db為 sysname,沒有預設值。 對於非 SQL Server 發行者, @publisher_db 是散發資料庫的名稱。
[ @publication = ] N'publication'
發行集的名稱。 @publication為 sysname,沒有預設值。 當多個發行集共用 散發代理程式 時,您必須為 @publication指定的值ALL
。
[ @xact_seqno = ] xact_seqno
要套用在訂閱者端之散發者端下一個交易的 LSN。 @xact_seqno為 varbinary(16),沒有預設值。
結果集
資料行名稱 | 資料類型 | 描述 |
---|---|---|
ORIGINAL XACT_SEQNO |
varbinary(16) | 要套用至訂閱者之下一個交易的原始 LSN。 |
UPDATED XACT_SEQNO |
varbinary(16) | 要套用至訂閱者之下一個交易的更新 LSN。 |
SUBSCRIPTION STREAM COUNT |
int | 上次同步處理期間使用的訂用帳戶數據流數目。 |
傳回碼值
0
(成功) 或 1
(失敗)。
備註
sp_setsubscriptionxactseqno
用於事務複製。
sp_setsubscriptionxactseqno
無法在點對點事務複製拓撲中使用。
sp_setsubscriptionxactseqno
可用來略過在訂閱者端套用時造成錯誤的特定交易。 當失敗且 散發代理程式 停止之後,請在散發者端呼叫 sp_helpsubscriptionerrors 以擷取xact_seqno
失敗交易的值,然後呼叫 sp_setsubscriptionxactseqno
,並針對 @xact_seqno 傳遞此值。 這可確保只會處理此 LSN 之後的命令。
指定的值 0
給 @xact_seqno ,以將散發資料庫中的所有暫止命令傳遞至訂閱者。
sp_setsubscriptionxactseqno
如果 散發代理程式 使用多訂用帳戶數據流,可能會失敗。
發生此錯誤時,您必須使用單一訂用帳戶數據流執行 散發代理程式。 如需詳細資訊,請參閱 Replication Distribution Agent。
權限
只有系統管理員固定伺服器角色或db_owner固定資料庫角色的成員才能執行 sp_setsubscriptionxactseqno
。