更新トランザクション サブスクリプションの更新モードを切り替える方法 (レプリケーション Transact-SQL プログラミング)

トランザクション パブリケーションへの更新サブスクリプションで更新モード間のフェールオーバーがサポートされている場合、接続が短時間で変化する状況に対応するために、更新モードをプログラムで変更することができます。更新モードはレプリケーション ストアド プロシージャを使用して、プログラムから設定することも、要求時に設定することもできます。詳細については、「トランザクション レプリケーションの更新可能なサブスクリプション」を参照してください。

ms146938.note(ja-jp,SQL.90).gifメモ :
即時更新からキュー更新に、いつでもフェールオーバーできます。ただしそれ以降、サブスクライバとパブリッシャが接続され、キュー リーダー エージェントによってキュー内の保留中メッセージがすべてパブリッシャに適用されるまで、即時更新に戻すことはできません。

更新モードを切り替えるには

  1. プル サブスクリプションの場合は sp_helppullsubscription、プッシュ サブスクリプションの場合は sp_helpsubscription を実行して、サブスクリプションでフェールオーバーがサポートされていることを確認します。結果セットの update mode の値が 3 または 4 の場合、フェールオーバーがサポートされます。

  2. サブスクライバ側のサブスクリプション データベースに対して、sp_setreplfailovermode を実行します。@publisher@publisher_db@publication を指定します。さらに @failover_mode に、次のいずれかの値を指定します。

    • queued - 接続が一時的に失われた場合、キュー更新にフェールオーバーします。
    • immediate - 接続が回復した場合、即時更新にフェールオーバーします。