適用対象:SQL Server
Azure SQL Managed Instance
レプリケーション エージェントは、レプリケーションに関連した数多くのタスクを実行します。たとえば、スキーマとデータのコピーの作成、パブリッシャーまたはサブスクライバーでの更新の検出、およびサーバー間での変更の反映などを行います。 既定では、レプリケーション エージェントは SQL Server エージェントのジョブ ステップで実行されます。 エージェントは単なる実行可能ファイルであるため、コマンド ラインやバッチ スクリプトから直接呼び出すこともできます。 各レプリケーション エージェントでは、ランタイム パラメーターのセットを使用して実行方法を制御できます。このパラメーターはエージェント プロファイルまたはコマンド ラインで指定します。
重要
SQL Server のインストール時に、サービスが自動開始されるように明示的に選択されていない限り、SQL Server エージェント サービスは既定で無効になります。
レプリケーション エージェント ファイルは、<ドライブ>:\Program Files\Microsoft SQL Server\nnn\\COM の下に格納されています。 次の表は、レプリケーション実行可能ファイル名およびファイル名を示しています。 エージェントのリンクを選択して、そのパラメーター参照を表示します。
エージェント実行可能ファイル | ファイル名 |
---|---|
Replication Snapshot Agent | snapshot.exe |
Replication Distribution Agent | distrib.exe |
レプリケーション ログ リーダー エージェント | logread.exe |
レプリケーション キュー リーダー エージェント | qrdrsvc.exe |
Replication Merge Agent | replmerg.exe |
レプリケーション エージェントに加えて、レプリケーションには、スケジュールされたメンテナンスとオンデマンド メンテナンスを実行するいくつかのジョブがあります。
エージェントとメンテナンス ジョブを実行する
SQL Server Management Studio およびレプリケーション モニター: レプリケーション エージェントを起動および停止する (SQL Server Management Studio)
レプリケーション プログラミング: レプリケーション エージェント実行可能ファイルの概念
エージェント プロファイル
レプリケーションを構成すると、エージェント プロファイルのセットがディストリビューターにインストールされます。 エージェント プロファイルには、エージェントが実行されるたびに使用されるパラメーターのセットが含まれています。スタートアップ処理中に各エージェントはディストリビューターにログインし、各エージェントのプロファイルのパラメーターをクエリします。 レプリケーションでは、各エージェントの既定のプロファイルと、ログ リーダー エージェント、ディストリビューション エージェント、マージ エージェント用の追加の定義済みプロファイルが提供されます。 提供されているプロファイルに加えて、アプリケーションの要件に合わせてプロファイルを作成することもできます。 詳しくは、「 レプリケーション エージェント プロファイル」をご覧ください。
コマンド ラインでパラメーターを直接指定する方法の詳細については、「レプリケーション エージェント実行可能ファイルの概念」を参照してください。
レプリケーション エージェントの監視
レプリケーション モニターを使用すると、各レプリケーション エージェントに関連する情報を表示し、タスクを実行できます。 次の一覧には、各エージェント、それが見つかるレプリケーション モニターのタブ、およびこれらのタブにアクセスする方法を説明する記事へのリンクが含まれています。
以下のエージェントは、レプリケーション モニターでパブリケーションと関連付けられています。
- スナップショット エージェント
- ログ リーダー エージェント
- キュー リーダー エージェント
[ エージェント ] タブを使用して、これらのエージェントに関連付けられている情報とタスクにアクセスします。詳細については、「情報の表示」を参照し、「情報の表示」を使用してタスクを 実行し、レプリケーション モニターを使用してタスクを実行します。
以下のエージェントは、レプリケーション モニターでサブスクリプションと関連付けられています。
- ディストリビューション エージェント
- [マージ エージェント]
これらのエージェントに関連付けられている情報およびタスクにアクセスするには、 [サブスクリプション ウォッチ リスト] タブ (各パブリッシャーで利用可能) または [すべてのサブスクリプション] タブ (各パブリケーションで利用可能) を使用します。 詳細については、「View information and perform tasks using Replication Monitor」 (レプリケーション モニターを使用して情報を表示し、タスクを実行する) を参照してください。
独立したエージェントと共有エージェント
独立したエージェントとは、1 つのサブスクリプションにサービスを提供するエージェントです。共有エージェントは複数のサブスクリプションにサービスを提供します。 同じ共有エージェントを使用する複数のサブスクリプションが同期する必要がある場合、既定ではキューで待機し、共有エージェントは一度に 1 つずつサービスを提供します。 独立したエージェントは、サブスクリプションが必要に応じていつでも同期できるように常に待機しているので、待機時間が短くなります。 マージ レプリケーションでは常に独立したエージェントが使用され、トランザクション レプリケーションではパブリケーションの新規作成ウィザードで作成されたパブリケーションに対して既定で独立したエージェントが使用されます。 以前のバージョンの SQL Server では、トランザクション レプリケーションでは既定で共有エージェントが使用されました。
レプリケーション保守作業
レプリケーションでは、次のジョブを使用して定期的なメンテナンスおよび要求時メンテナンスを実行します。
クリーンアップ ジョブ | 説明 | 既定のスケジュール |
---|---|---|
エージェント履歴のクリーンアップ: ディストリビューション | ディストリビューション データベースからレプリケーション エージェントの履歴を削除します。 | 10 分ごとに実行されます |
ディストリビューションのクリーンアップ: ディストリビューション | ディストリビューション データベースからレプリケートされたトランザクションを削除します。 | 10 分ごとに実行されます |
有効期限が切れたサブスクリプションのクリーンアップ | パブリケーション データベースから期限切れのサブスクリプションを検出し、削除します。 ディストリビューターで、ディストリビューションの最大保有期間内に同期されなかったサブスクリプションを非アクティブ化します。 | 毎日、午前 1 時に実行されます。 |
データ検証で問題が見つかったサブスクリプションの再初期化 | データ検証に失敗したすべてのサブスクリプションを検出し、再初期化のマークを付けます。 次回マージ エージェントまたはディストリビューション エージェントが実行されたときに、サブスクライバーで新しいスナップショットが適用されます。 | 既定のスケジュールはありません。既定では、有効ではありません。 |
レプリケーション エージェントの検査 | 履歴をアクティブにログ記録していないレプリケーション エージェントを検出します。 ジョブ ステップが失敗すると、Windows イベント ログに書き込まれます。 | 10 分ごとに実行されます。 |
ディストリビューションのレプリケーション モニターの状態更新機能 | レプリケーション モニターによって使用されるキャッシュされたクエリを更新します。 | 連続的に実行されます。 |