Share via


トランザクション パブリケーションでのストアド プロシージャの実行

適用対象: SQL ServerAzure SQL Managed Instance

ストアド プロシージャの単なる定義ではなく、その実行をパブリッシュするように、[アーティクルのプロパティ - <アーティクル> ダイアログ ボックスで指定できます。 このダイアログ ボックスは、パブリケーションの新規作成ウィザードおよび [パブリケーションのプロパティ - <パブリケーション]> ダイアログ ボックスで使用できます。 ウィザードの使用およびダイアログ ボックスへのアクセスの詳細については、「パブリケーションの作成」および「View and Modify Publication Properties」 (パブリケーション プロパティの表示および変更) を参照してください。

プロシージャの定義 (CREATE PROCEDURE ステートメント) はサブスクリプションが初期化されるときにサブスクライバーにレプリケートされます。プロシージャがパブリッシャーで実行されるときに、レプリケーションは対応するプロシージャをサブスクライバーで実行します。

ストアド プロシージャの実行をパブリッシュするには

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

  2. [アーティクルのプロパティ]をクリックしてから、 [反転表示されたストアド プロシージャのプロパティを設定]をクリックします。

  3. [アーティクルのプロパティ - <アーティクル> ダイアログ ボックスで、[レプリケート] オプションの次のいずれかの値を指定します。

    • [ストアド プロシージャの実行]

    • [SP のシリアル化されたトランザクションでの実行]

      これは、推奨オプションです。このオプションを指定すると、プロシージャがシリアル化可能なトランザクションのコンテキスト内で実行される場合にのみ、プロシージャの実行がレプリケートされます。 ストアド プロシージャがシリアル化可能なトランザクションの外から実行される場合、パブリッシュされたテーブルのデータに対する変更は一連の DML (データ操作言語) ステートメントとしてレプリケートされます。

  4. [OK] を選択します。

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

参照

トランザクション レプリケーションにおけるパブリッシング ストアド プロシージャの実行