none
2台のデータベースの片方のトランザクションを互いに同期し合うことは可能か RRS feed

  • 質問

  • 構成

    WindowsServer2003 × 2

    SQServer2008R2 × 2 DB①、DB②とします。

     

    2台のDBを互いに更新しあう構成が必要なので可能かどうか調査しています。

    やりたいことは、DB①に受けたトランザクションを、DB②にも同じトランザクションを更新し、

    常に同じ情報を更新しあう構成が必要です。

    DB②に受けたトランザクションもDB①にも更新します。

     

    要求として、DB①の機器がダウンした際の予備にDB②の機器が動作しているのですが

    DB②も更新がある可能性がないこともないので

    互いに更新し合うことをが求められるのです。

     

    http://msdn.microsoft.com/ja-jp/library/ms151793.aspx

    上記にある

    トランザクション レプリケーション or マージ レプリケーションにあたるのでしょうか?

     

    また、プッシュ サブスクリプションとプル サブスクリプションの違いが明確に分かりません

    なんとなくイメージはつくのですがこの構成の場合、どちらのチョイスか迷っていおります。

     

    以上、よろしくお願いいたします。


    2011年6月10日 2:17

回答

  • DB1とDB2の同じテーブルで更新結果を双方で持っておく必要があればマージレプリケーションになります。
    プッシュとプルの違いはデータを誰が配る/取りに行くかの違いですが、プルを選択すると、データを受け取りたいDBが
    データを取りに行きます。そのため定期的なジョブ実行で更新すべきデータが無いか確認しに行きます。
    プッシュは更新する側が配りに行くイメージです。(配信のためのエージェントが動く場所が違います)
    リアルタイムなデータ同期が必要であればプッシュになります。
    あとはシステム負荷がかかる場所が変わるので、それを許容できる構成かどうかです。

    http://msdn.microsoft.com/ja-jp/library/ms151170.aspx

     

    • 回答としてマーク rwatanabe 2011年6月10日 10:46
    2011年6月10日 3:04
    モデレータ