SQL Server マージ レプリケーション マージ エージェントが見つからない

SQL Server マージ レプリケーション マージ エージェントが見つからない

マージ レプリケーションを使用していくつかのデータベースを同期している SQL2000 サーバーが 2 台あります。過去数か月間のある時点で、データベースの 1 つに対するマージ エージェントが消えてしまいました。いつこの状態になったのかはわかりませんが、このシステムは実際には年に数回、数か月間しか使用されていません。

私の知る限り (私はレプリケーションの専門家ではありません)、サブスクリプションとパブリケーションの両方がまだ存在していますが、そのうちの 1 つはマージ エージェントがないため、マージ レプリケーションを実行していません。もう 1 つはマージ レプリケーションを完璧に実行しています。
データベース間のスキーマは同じままですが、データは変更されています。サブスクライバ サーバーには、パブリッシャー サーバーよりも新しいデータがあります。

マージ エージェントを元に戻す最善の方法は何ですか? BOL を調べ、Web をくまなく調べましたが、このレプリケーション関連の情報はすべて混乱を招き、恐ろしいです。

答え1

はい、怖いですね。

少し前に、レプリケーションが少なくとも 2 週間ごとに (たぶん) 実行されない場合、デフォルトでサブスクリプションが期限切れになり、消えてしまうことを覚えています。これを実行してから何年も経っているので、本当に曖昧です。私たちの場合、エンド ユーザーが 2 週間休暇を取ると、ワークステーションのサブスクリプションが期限切れになります (高速インターネットの時代以前は、フィールド ユニットにマージ レプリケーションを使用していました)。

有効期限の6か月前に設定を変更しました。

ただし、それがあなたの問題かどうかはわかりませんが、レプリケーションのせいで、そのプロジェクトでは夜遅くまで作業したり頭を悩ませたりすることが何度もありました...そして、眠った後も悪夢を見ました。

編集: 他に思い出したことがありました。レプリケーションは、SQL エージェント アカウントが実行している権限を使用して実行されます。そのため、SQL エージェント サービスが使用しているアカウントに問題がある場合は、レプリケーションに悪影響が出ます。

答え2

私もレプリケーションの専門家ではありませんが、マージ レプリケーションをやり直す必要があるときは、SQL データ比較ツールを使用してパブリッシャーが最新のデータを持っていることを確認し、全体を再作成します。皆さんにとってそれが選択肢になるかどうかはわかりませんが、私たちのデータベースはかなり小さく、地理的に離れているわけではありません。

私たちが使用するツールは Apex SQL Data Diff です。ただし、他にも利用できるオプションはたくさんあると思います。

関連情報