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