レプリケーション エージェントの管理

適用対象: SQL Server Azure SQL Managed Instance

レプリケーション エージェントは、レプリケーションに関連した数多くのタスクを実行します。たとえば、スキーマとデータのコピーの作成、パブリッシャーまたはサブスクライバーでの更新の検出、およびサーバー間での変更の反映などを行います。 既定では、レプリケーション エージェントは Microsoft SQL Server エージェントのジョブ ステップで実行されます。 エージェントは単なる実行可能ファイルであるため、コマンド ラインやバッチ スクリプトから直接呼び出すこともできます。 各レプリケーション エージェントでは、ランタイム パラメーターのセットを使用して実行方法を制御できます。このパラメーターはエージェント プロファイルまたはコマンド ラインで指定します。

重要

SQL Server のインストール時に、サービスが自動開始されるように明示的に選択されていない限り、SQL Server エージェント サービスは既定で無効になります。

レプリケーション エージェント ファイルは、<ドライブ>:\Program Files\Microsoft SQL Server\nnn\\COM の下に格納されています。 次の表は、レプリケーション実行可能ファイル名およびファイル名を示しています。 パラメーター参照を表示するにはエージェントのリンクをクリックしてください。

エージェント実行可能ファイル File Name
Replication Snapshot Agent snapshot.exe
Replication Distribution Agent distrib.exe
レプリケーション ログ リーダー エージェント logread.exe
レプリケーション キュー リーダー エージェント qrdrsvc.exe
Replication Merge Agent replmerg.exe

レプリケーション エージェントに加え、レプリケーションには定期的なメンテナンスおよび要求時メンテナンスを実行するさまざまなジョブがあります。

エージェントおよびメンテナンス ジョブを実行するには

[エージェント プロファイル]

レプリケーションを構成すると、エージェント プロファイルのセットがディストリビューターにインストールされます。 エージェント プロファイルには、エージェントが実行されるたびに使用されるパラメーターのセットが含まれています。スタートアップ処理中に各エージェントはディストリビューターにログインし、各エージェントのプロファイルのパラメーターをクエリします。 レプリケーションでは、各エージェント用の既定のプロファイルの他に、ログ リーダー エージェント、ディストリビューション エージェント、およびマージ エージェント用の追加の定義済みプロファイルが利用できます。 提供されているプロファイルに加えて、アプリケーションの要件に合わせてプロファイルを作成することもできます。 詳しくは、「 レプリケーション エージェント プロファイル」をご覧ください。

コマンド ラインでパラメーターを直接指定する方法の詳細については、「レプリケーション エージェント実行可能ファイルの概念」を参照してください。

レプリケーション エージェントの監視

レプリケーション モニターを使用すると、各レプリケーション エージェントに関連する情報を表示し、タスクを実行できます。 次の一覧に、各エージェント、各エージェントを利用できるレプリケーション モニターのタブ、およびそれらのタブへのアクセス方法について説明しているトピックへのリンクを示します。

  • 以下のエージェントは、レプリケーション モニターでパブリケーションと関連付けられています。

    • スナップショット エージェント

    • ログ リーダー エージェント (Log Reader Agent)

    • キュー リーダー エージェント (Queue Reader Agent)

    [エージェント] タブを使用して、これらのエージェントに関連付けられている情報とタスクにアクセスします。詳しくは、「レプリケーション モニターを使用した情報の表示とタスクの実行」をご覧ください。

  • 以下のエージェントは、レプリケーション モニターでサブスクリプションと関連付けられています。

    • ディストリビューション エージェント

    • [マージ エージェント]

    これらのエージェントに関連付けられている情報およびタスクにアクセスするには、 [サブスクリプション ウォッチ リスト] タブ (各パブリッシャーで利用可能) または [すべてのサブスクリプション] タブ (各パブリケーションで利用可能) を使用します。 詳細については、「View information and perform tasks using Replication Monitor」 (レプリケーション モニターを使用して情報を表示し、タスクを実行する) を参照してください。

独立したエージェントと共有エージェント

独立したエージェントとは、1 つのサブスクリプションを処理するエージェントのことです。 共有エージェントは複数のサブスクリプションにサービスを提供します。同じ共有エージェントを使用している複数のサブスクリプションで同期する必要がある場合、既定では、それらのサブスクリプションはキューに格納されて待機し、共有エージェントがそれらを一度に 1 つずつ処理します。 独立したエージェントは、サブスクリプションが必要に応じていつでも同期できるように常に待機しているので、待機時間が短くなります。 マージ レプリケーションでは常に独立したエージェントが使用され、トランザクション レプリケーションでは、既定ではパブリケーションの新規作成ウィザードで作成されたパブリケーションに対して独立したエージェントが使用されます (以前のバージョンの SQL Server では、トランザクション レプリケーションは既定で共有エージェントを使用していました)。

レプリケーション メンテナンス ジョブ

レプリケーションでは、次のジョブを使用して定期的なメンテナンスおよび要求時メンテナンスを実行します。

クリーンアップ ジョブ 説明 既定のスケジュール
エージェント履歴のクリーンアップ: ディストリビューション ディストリビューション データベースからレプリケーション エージェントの履歴を削除します。 10 分おきに実行されます。
ディストリビューションのクリーンアップ: ディストリビューション ディストリビューション データベースからレプリケートされたトランザクションを削除します。 10 分おきに実行されます。
有効期限が切れたサブスクリプションのクリーンアップ パブリケーション データベースから期限切れのサブスクリプションを検出し、削除します。 ディストリビューターで、ディストリビューションの最大保有期間内に同期されなかったサブスクリプションを非アクティブ化します。 毎日、午前 1 時に実行されます。
データ検証で問題が見つかったサブスクリプションの再初期化 データ検証に失敗したすべてのサブスクリプションを検出し、再初期化のマークを付けます。 次回マージ エージェントまたはディストリビューション エージェントが実行されたときに、サブスクライバーで新しいスナップショットが適用されます。 既定のスケジュールはありません。既定では、有効ではありません。
レプリケーション エージェントの検査 履歴をログに記録していないレプリケーション エージェントを検出します。 ジョブ ステップが失敗した場合に、Microsoft Windows イベント ログに書き込みます。 10 分おきに実行されます。
ディストリビューションのレプリケーション モニターの状態更新機能 レプリケーション モニターで使用される、キャッシュされたクエリを更新します。 連続的に実行されます。