SQL Server 2005 でトランザクション レプリケーションをセットアップし、レプリケーションのセットアップ時に作成された DDL トリガーを無効にしました。VARCHAR
パブリッシャーの列をサブスクライバーの列に変更したため、(何が起こるかを理解するために) 少し遊んだ後、トランザクションは壊れていINT
ます。このバグのあるトランザクションをスキップするのに役立つ2つの手順を見つけました
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
それは言う:
エラー 20017 - サブスクライバーにサブスクリプションが存在しません。
は?