トランザクション パブリケーションでストアド プロシージャの実行をパブリッシュする方法 (SQL Server Management Studio)
ストアド プロシージャの単なる定義ではなく、その実行をパブリッシュするように、[アーティクルのプロパティ - <Article>] ダイアログ ボックスで指定します。このダイアログ ボックスは、パブリケーションの新規作成ウィザードおよび [パブリケーションのプロパティ - <Publication>] ダイアログ ボックスで使用できます。このウィザードの使用とダイアログ ボックスへのアクセスの詳細については、「パブリケーションを作成してアーティクルを定義する方法 (SQL Server Management Studio)」および「パブリケーションとアーティクルのプロパティを表示および変更する方法 (SQL Server Management Studio)」を参照してください。
プロシージャの定義 (CREATE PROCEDURE ステートメント) はサブスクリプションが初期化されるときにサブスクライバにレプリケートされます。プロシージャがパブリッシャで実行されるときに、レプリケーションは対応するプロシージャをサブスクライバで実行します。
ストアド プロシージャの実行をパブリッシュするには
パブリケーションの新規作成ウィザードまたは [パブリケーションのプロパティ - <Publication>] ダイアログ ボックスの [アーティクル] ページで、ストアド プロシージャを選択します。
[アーティクルのプロパティ] をクリックしてから、[反転表示されたストアド プロシージャのプロパティを設定] をクリックします。
[アーティクルのプロパティ - <Article>] ダイアログ ボックスで、[レプリケート] オプションの次のいずれかの値を指定します。
- [ストアド プロシージャの実行]
- [SP のシリアル化されたトランザクションでの実行]
これは、推奨オプションです。このオプションを指定すると、プロシージャがシリアル化可能なトランザクションのコンテキスト内で実行される場合にのみ、プロシージャの実行がレプリケートされます。ストアド プロシージャがシリアル化可能なトランザクションの外から実行される場合、パブリッシュされたテーブルのデータに対する変更は一連の DML (データ操作言語) ステートメントとしてレプリケートされます。
[OK] をクリックします。
[パブリケーションのプロパティ - <Publication>] ダイアログ ボックスが表示されている場合は、[OK] をクリックして保存し、ダイアログ ボックスを閉じます。
参照
概念
トランザクション レプリケーションにおけるパブリッシング ストアド プロシージャの実行