2 つの MS SQL Server 2008 R2 間にトランザクション レプリケーションがあります。
ハードドライブの故障により、サーバーが再起動されました。
レプリケーションは自動的に機能し続けました。しかし、そのようなエラーを受け取ってから 1 時間後:
The subscription(s) have been marked inactive and must be reinitialized. NoSync subscriptions will need to be dropped and recreated.
ログ リーダー エージェントが機能し、トランザクションをディストリビューターに送信します。しかし、ディストリビューターはサブスクライバーと同期できなくなりました。
また、サブスクライバーはディストリビューターに変更を送信することができました。すべての競合はディストリビューターによって解決されました。
サブスクリプションを再初期化する以外に、レプリケーションを機能させる別の方法があるかどうかを知りたいですか?
このエラーはおそらくディスク障害ではないことがわかりました。
新しい外部キーを追加しました:
それで、次のようになりました。
Publisher Table1 Table2 Table3
Subscriber Table1 Table2 Table3
Table1
Table2
複製中でした。Table3
- いいえ。パブリッシャーとサブスクライバーのそれぞれに
外部キーを追加しました。Table2_Table3
この後、@Remus Rusanu の回答へのコメントで説明したように、エラーが発生し始めました。