更新可能トランザクション サブスクリプションの更新モードの切り替え

このトピックでは、SQL Server 2012 で SQL Server Management Studio または Transact-SQL を使用して、更新可能トランザクション サブスクリプションの更新モードを切り替える方法について説明します。 サブスクリプションの新規作成ウィザードを使用して、更新可能サブスクリプションのモードを指定します。 このウィザードを使用したモードの設定方法の詳細については、「プル サブスクリプションのプロパティの表示または変更」を参照してください。

このトピックの内容

  • 作業を開始する準備:

    制限事項と制約事項

    推奨事項

  • 更新可能トランザクション サブスクリプションの更新モードを切り替えるために使用するもの:

    SQL Server Management Studio

    Transact-SQL

作業を開始する準備

制限事項と制約事項

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

推奨事項

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

[トップに戻る] リンクで使用される矢印アイコン[Top]

SQL Server Management Studio の使用

注意

サブスクリプションを作成した後で更新モードを変更するには、update_mode プロパティを failover (即時更新をキュー更新に切り替え) または queued failover (キュー更新を即時更新に切り替え) に設定する必要があります。 これらのプロパティは、サブスクリプションの新規作成ウィザードで自動的に設定されます。

プッシュ サブスクリプションの更新モードを設定するには

  1. SQL Server Management Studio でサブスクライバーに接続して、サーバー ノードを展開します。

  2. [レプリケーション] フォルダーを展開し、[ローカル サブスクリプション] フォルダーを展開します。

  3. 更新モードを設定するサブスクリプションを右クリックしてから、[更新方法の設定] をクリックします。

  4. [更新方法の設定 - <Subscriber>: <SubscriptionDatabase>] ダイアログ ボックスで、[即時更新] または [キュー更新] をクリックします。

  5. [OK] をクリックします。

プル サブスクリプションの更新モードを設定するには

  1. [サブスクリプションのプロパティ - <Publisher>: <PublicationDatabase>] ダイアログ ボックスの [サブスクライバーの更新方法] オプションで、[変更をすぐにレプリケートする] または [変更をキューに登録] のいずれかの値を選択します。

  2. [OK] をクリックします。

[サブスクリプションのプロパティ - <Publisher>: <PublicationDatabase>] ダイアログ ボックスへのアクセスの詳細については、「プル サブスクリプションのプロパティの表示または変更」を参照してください。

[トップに戻る] リンクで使用される矢印アイコン[Top]

Transact-SQL の使用

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

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

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

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

    • immediate - 接続が回復した場合、即時更新にフェールオーバーします。

[トップに戻る] リンクで使用される矢印アイコン[Top]

関連項目

概念

トランザクション レプリケーションの更新可能なサブスクリプション