レプリケーション エージェントは、次の方法でプログラムで制御できます。
Microsoft.SqlServer.Replication名前空間でのマネージド エージェント プログラミング インターフェイスの使用。
指定されたパラメーター のセットを使用して、コマンド プロンプトからエージェント実行可能ファイルを呼び出す。
コマンド プロンプトからレプリケーション エージェントを直接呼び出すと、バッチ ファイル内のコマンド ライン スクリプトからエージェントにプログラムでアクセスできるようになります。 コマンド プロンプトからエージェントが呼び出されると、エージェントは、エージェントを呼び出したユーザーまたはバッチ ファイルを開始したユーザーの Microsoft Windows セキュリティ アカウントで実行されます。
次のレプリケーション エージェントのインスタンスは、実行可能ファイルを使用して実行できます。
レプリケーション エージェントを呼び出すときは、パフォーマンス プロファイルを使用して、定義済みのパラメーターセットをエージェント実行可能ファイルに自動的に渡すことができます。 詳しくは、「 レプリケーション エージェント プロファイル」をご覧ください。
例示
次の例は、コマンド プロンプトからレプリケーション エージェントを呼び出す方法を示しています。 レプリケーション エージェントは、レプリケーション管理オブジェクト (RMO) を使用して呼び出すこともできます。 詳細については、「 サブスクリプションの同期 (レプリケーション)」を参照してください。
注
これらの例では、読みやすくするために改行が追加されました。 バッチ ファイルでは、コマンドは 1 行で行う必要があります。
スナップショット エージェントの実行
このバッチ ファイルの例では、コマンド プロンプトからスナップショット エージェントを呼び出して 、AdvWorksSalesOrdersMerge パブリケーションのスナップショットを 生成します。
REM -- Declare variables
SET Publisher=%InstanceName%;
SET PublicationDB=AdventureWorks2012;
SET Publication=AdvWorksSalesOrdersMerge;
REM --Start the Snapshot Agent to generate the snapshot for AdvWorksSalesOrdersMerge.
"C:\Program Files\Microsoft SQL Server\120\COM\SNAPSHOT.EXE" -Publication %Publication%
-Publisher %Publisher% -Distributor %Publisher% -PublisherDB %PublicationDB%
-ReplicationType 2 -OutputVerboseLevel 1 -DistributorSecurityMode 1 ;
ディストリビューション エージェントの実行
このバッチ ファイルの例では、コマンド プロンプトからディストリビューション エージェントを呼び出して 、AdvWorksProductTran パブリケーションからの変更をプッシュ サブスクライバーに継続的にレプリケートします。
REM -- Declare the variables.
SET Publisher=%instancename%;
SET Subscriber=%instancename%;
SET PublicationDB=AdventureWorks2012;
SET SubscriptionDB=AdventureWorks2012Replica;
SET Publication=AdvWorksProductsTran;
REM -- Start the Distribution Agent with four subscription streams.
REM -- The following command must be supplied without line breaks.
"C:\Program Files\Microsoft SQL Server\120\COM\DISTRIB.EXE" -Subscriber %Subscriber%
-SubscriberDB %SubscriptionDB% -SubscriberSecurityMode 1 -Publication %Publication%
-Publisher %Publisher% -PublisherDB %PublicationDB% -Distributor %Publisher%
-DistributorSecurityMode 1 -Continuous -SubscriptionType 0 -SubscriptionStreams 4 ;
マージ エージェントの実行
このバッチ ファイルの例では、コマンド プロンプトからマージ エージェントを呼び出して、プル サブスクリプションを AdvWorksSalesOrdersMerge パブリケーションに同期します。
REM -- Declare the variables.
SET Publisher=%instancename%;
SET Subscriber=%instancename%;
SET PublicationDB=AdventureWorks2012;
SET SubscriptionDB=AdventureWorks2012Replica;
SET Publication=AdvWorksSalesOrdersMerge;
REM --Start the Merge Agent with concurrent upload and download processes.
REM -- The following command must be supplied without line breaks.
"C:\Program Files\Microsoft SQL Server\120\COM\REPLMERG.EXE" -Publication %Publication%
-Publisher %Publisher% -Subscriber %Subscriber% -Distributor %Publisher%
-PublisherDB %PublicationDB% -SubscriberDB %SubscriptionDB% -PublisherSecurityMode 1
-OutputVerboseLevel 2 -SubscriberSecurityMode 1 -SubscriptionType 1 -DistributorSecurityMode 1
-Validate 3 -ParallelUploadDownload 1 ;