我在SQL Server 2005中設置了事務複製,並且禁用了設置複製時創建的DDL觸發器。玩了一下之後(瞭解將會發生什麼),交易被破壞了,因爲我已將發佈者列更改爲訂戶上的VARCHAR
即INT
。我已經發現了兩個程序,這將有助於跳過此車交易修復了SQL Server 2005中破壞的事務複製
EXEC sp_helpsubscriptionerrors
@publisher='DB1',@publisher_db='repl_test',@publication='repl_test_table',
@subscriber='DB2',@subscriber_db='repl_test'
這給了我一個結果,我可以看到錯誤(失敗的轉換VARCHAR
到INT
)
id time [...] error_code error_text xact_seqno
24 2012-02-23 08:33:35.313 [...] 8114 Fehler beim Konvertieren des varchar-Datentyps in int. 0x00139791000CC79C000600000000
24 2012-02-23 08:33:35.310 [...] 8114 Fehler beim Konvertieren des varchar-Datentyps in int. 0x00139791000CC79C000600000000
[...]
和我使用xact_seqno
從結果(0x00139791000CC79C000600000000)在下一步驟
EXEC sp_setsubscriptionxactseqno
@publisher='DB1',@publisher_db='repl_test',@publication='repl_test_table',
@xact_seqno=0x00139791000CC79C000600000000
WH來執行以下過程ich會說:
錯誤20017 - 訂閱上不存在訂閱。
咦?