マージ アーティクルにインタラクティブな競合回避を指定する方法 (レプリケーション Transact-SQL プログラミング)

Microsoft SQL Server レプリケーションでは、Microsoft Windows 同期マネージャでの要求時同期中に、手動で競合を解決できるインタラクティブ競合回避モジュールを利用できます。マージ パブリケーションに対するプル サブスクリプションが作成されるときに、サブスクライバがこのグラフィカル インターフェイスを使用してアーティクルの競合を回避するように、プログラムで指定できます。このオプションをサポートするアーティクル内の競合のみが、インタラクティブ競合回避モジュールに表示されます。インタラクティブな競合回避には Windows 同期マネージャが必要です。同期が Windows 同期マネージャの外部で (スケジュールされた同期、または SQL Server Management Studio かレプリケーション モニタでの要求時同期として) 実行される場合、アーティクルに指定された既定の競合回避を使用して、ユーザーの介入なしに自動的に競合が解決されます。詳細については、「インタラクティブな競合解決」を参照してください。

インタラクティブ競合回避モジュールを使用するマージ プル サブスクリプションを作成するには

  1. パブリッシャ側のパブリケーション データベースに対し、@publication を指定して sp_helpmergearticle を実行します。インタラクティブ競合回避モジュールが使用される結果セット内の各アーティクルに対する allow_interactive_resolver の値を確認します。

    • この値が 1 の場合、インタラクティブ競合回避モジュールが使用されます。
    • この値が 0 の場合は、最初に、各アーティクルに対してインタラクティブ競合回避モジュールを有効にする必要があります。そのためには、@publication@article を指定し、@propertyallow_interactive_resolver を、@valuetrue を指定して、sp_changemergearticle を実行します。
  2. サブスクライバ側のサブスクリプション データベースに対して、sp_addmergepullsubscription を実行します。詳細については、「プル サブスクリプションを作成する方法 (レプリケーション Transact-SQL プログラミング)」を参照してください。

  3. サブスクライバ側のサブスクリプション データベースに対し、次のパラメータを指定して sp_addmergepullsubscription_agent を実行します。

  4. パブリッシャ側のパブリケーション データベースに対し、sp_addmergesubscription を実行します。

インタラクティブ競合回避モジュールをサポートするアーティクルを定義するには

  1. パブリッシャ側のパブリケーション データベースに対して、sp_addmergearticle を実行します。@publication にアーティクルが属するパブリケーションの名前を、@article にアーティクルの名前を、@source_object にパブリッシュされるデータベース オブジェクトを指定し、@allow_interactive_resolvertrue を指定します。詳細については、「アーティクルを定義する方法 (レプリケーション Transact-SQL プログラミング)」を参照してください。