データの変更をトランザクション アーティクルに反映する方法 (SQL Server Management Studio)

反映方法は、パブリケーションの新規作成ウィザードからアクセスできる [アーティクルのプロパティ - <Article>] ダイアログ ボックスおよび [パブリケーションのプロパティ - <Publication>] ダイアログ ボックスの [プロパティ] タブで指定します。このウィザードの使用とダイアログ ボックスへのアクセスの詳細については、「パブリケーションを作成してアーティクルを定義する方法 (SQL Server Management Studio)」および「パブリケーションとアーティクルのプロパティを表示および変更する方法 (SQL Server Management Studio)」を参照してください。

既定では、トランザクション レプリケーションは、各アーティクルのストアド プロシージャ セットを使用して変更内容をサブスクライバに反映します。これらのプロシージャはカスタム プロシージャに置換することができます。詳細については、「トランザクション アーティクルに変更を反映する方法の指定」を参照してください。

反映方法を指定するには

  1. パブリケーションの新規作成ウィザードの [アーティクル] ページ、または [パブリケーションのプロパティ - <Publication>] ダイアログ ボックスでテーブルを選択し、[アーティクルのプロパティ] をクリックします。

  2. [反転表示されたテーブル アーティクルのプロパティを設定] をクリックします。

  3. [アーティクルのプロパティ - <Article>] ダイアログ ボックスの [プロパティ] タブの [ステートメントの配信] セクションで、[INSERT 配信形式][UPDATE 配信形式][DELETE 配信形式] の各メニューを使用して各操作の反映方法を指定します。

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

  5. [パブリケーションのプロパティ - <Publication>] ダイアログ ボックスが表示されている場合は、[OK] をクリックして保存し、ダイアログ ボックスを閉じます。

カスタム ストアド プロシージャを生成して使用するには

  1. パブリケーションの新規作成ウィザードの [アーティクル] ページ、または [パブリケーションのプロパティ - <Publication>] ダイアログ ボックスでテーブルを選択し、[アーティクルのプロパティ] をクリックします。

  2. [反転表示されたテーブル アーティクルのプロパティを設定] をクリックします。

    [アーティクルのプロパティ - <Article>] ダイアログ ボックスの [プロパティ] タブの [ステートメントの配信] セクションで、該当する配信形式メニュー ([INSERT 配信形式][UPDATE 配信形式]、または [DELETE 配信形式]) から CALL 構文を選択し、[INSERT ストアド プロシージャ][DELETE ストアド プロシージャ]、または [UPDATE ストアド プロシージャ] で使用するプロシージャ名を入力します。CALL 構文の詳細については、「トランザクション アーティクルに変更を反映する方法の指定」の「ストアド プロシージャの呼び出し構文」を参照してください。

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

  4. [パブリケーションのプロパティ - <Publication>] ダイアログ ボックスが表示されている場合は、[OK] をクリックして保存し、ダイアログ ボックスを閉じます。

  5. パブリケーションのスナップショットが生成されると、そのスナップショットには前の手順で指定したプロシージャが含まれています。このプロシージャは指定した CALL 構文を使用しますが、レプリケーションが使用する既定のロジックを含んでいます。

    スナップショットが生成されたら、このアーティクルが属するパブリケーションのスナップショット フォルダに移動し、アーティクルと同じ名前の .sch ファイルを検索します。メモ帳などのテキスト エディタでこのファイルを開き、挿入、更新、または削除の各ストアド プロシージャで CREATE PROCEDURE コマンドを検索し、プロシージャ定義を編集してデータの変更を反映するためのカスタム ロジックを指定します。スナップショットが再生成された場合は、カスタム プロシージャを再作成する必要があります。

    注記注意

    レプリケーションで生成されたスナップショット ファイルを編集する場合には注意が必要です。カスタム ストアド プロシージャのカスタム ロジックをテストおよびサポートする必要があります。Microsoft は、カスタム ロジックをサポートしていません。