レプリケーションでは、トランザクション パブリケーションとマージ パブリケーションのサブスクライバーに対するオンデマンド スクリプトの実行がサポートされます。 この機能は、スクリプトをレプリケーション作業ディレクトリにコピーし、 sqlcmd を使用してサブスクライバーでスクリプトを適用します。 既定では、サブスクリプションのスクリプトをトランザクション パブリケーションに適用するときにエラーが発生した場合、ディストリビューション エージェントは停止します。 レプリケーション ストアド プロシージャを使用してプログラムで実行する Transact-SQL スクリプトを指定できます。
スナップショット パブリケーション、トランザクション パブリケーション、またはマージ パブリケーションのすべてのサブスクライバーに対して実行するスクリプトを指定するには
必要に応じて実行される Transact-SQL スクリプトを作成してテストします。
スクリプト ファイルを、パブリケーションのスナップショット エージェントがアクセスできる場所に保存します。
パブリッシャー側のパブリケーション データベースで、 sp_addscriptexec (Transact-SQL) を実行します。 @publication、@scriptfileの手順 2 で作成した完全な UNC パスを持つスクリプト ファイルの名前、および@skiperrorに次のいずれかの値を指定します。
0 - エラーが発生した場合、エージェントはスクリプトの実行を停止します。
1 - エージェントはエラーをログに記録し、エラーが発生したときにスクリプトの実行を続行します。
指定されたスクリプトは、エージェントが次にサブスクリプションを同期するために実行されるときに、各サブスクライバーで実行されます。