更新トランザクション サブスクリプションの更新モードを切り替える方法 (レプリケーション Transact-SQL プログラミング)
トランザクション パブリケーションへの更新サブスクリプションで更新モード間のフェールオーバーがサポートされている場合、接続が短時間で変化する状況に対応するために、更新モードをプログラムで変更することができます。更新モードはレプリケーション ストアド プロシージャを使用して、プログラムから設定することも、要求時に設定することもできます。詳細については、「トランザクション レプリケーションの更新可能なサブスクリプション」を参照してください。
メモ : |
---|
即時更新からキュー更新に、いつでもフェールオーバーできます。ただしそれ以降、サブスクライバとパブリッシャが接続され、キュー リーダー エージェントによってキュー内の保留中メッセージがすべてパブリッシャに適用されるまで、即時更新に戻すことはできません。 |
更新モードを切り替えるには
プル サブスクリプションの場合は sp_helppullsubscription、プッシュ サブスクリプションの場合は sp_helpsubscription を実行して、サブスクリプションでフェールオーバーがサポートされていることを確認します。結果セットの update mode の値が 3 または 4 の場合、フェールオーバーがサポートされます。
サブスクライバ側のサブスクリプション データベースに対して、sp_setreplfailovermode を実行します。@publisher、@publisher_db、@publication を指定します。さらに @failover_mode に、次のいずれかの値を指定します。
- queued - 接続が一時的に失われた場合、キュー更新にフェールオーバーします。
- immediate - 接続が回復した場合、即時更新にフェールオーバーします。