MSSQL_ENG020554
メッセージの詳細
製品名 |
SQL Server |
製品バージョン |
10.0 |
製品ビルド番号 |
|
イベント ID |
20554 |
イベント ソース |
MSSQLSERVER |
コンポーネント |
SQL Server データベース エンジン |
シンボル名 |
|
メッセージ テキスト |
レプリケーション エージェントでは、進捗状況メッセージが %ld 分間ログに記録されていません。この現象は、エージェントの応答が止まったか、システムの使用率が高いことを示している場合があります。レコードがレプリケーション先にレプリケートされていること、およびサブスクライバ、パブリッシャ、ディストリビュータへの接続がアクティブなままであることを確認してください。 |
説明
レプリケーション エージェントの検査ジョブは、指定された間隔 (既定では 10 分) で実行され、各レプリケーション エージェントの状態を確認します。エージェントが、最後の検査ジョブを実行してからまったく進捗状況メッセージを記録していない場合は、MSSQL_ENG020554 エラーが発生する可能性があります。他のレプリケーション処理が実行されていない場合でも、エージェントは少なくとも履歴メッセージだけは記録する必要があります。レプリケーション エージェントは、予想どおり応答していない場合でも、停止したり障害が発生するとは限りません (エージェントで障害が発生すると、エラー MSSQL_ENG020536 が発生します)。
MSSQL_ENG020554 は、次のような問題が原因で発生する可能性があります。
エージェントがビジーである場合
エージェントの検査ジョブでポーリングが実行されているときにエージェントがビジーで応答できない場合、エージェントの検査ジョブは、レプリケーション エージェントが正しく機能しているかどうかについて報告できません。レプリケーション エージェントがビジーになるのは、レプリケートされているデータの量が多すぎたり、アプリケーションの設計または構成の問題が原因でプロセスが長時間実行されるなど、さまざまな原因があります。
エージェントがトポロジ内のコンピュータのいずれにもログインできない場合
すべてのエージェントには -LoginTimeOut パラメータ (既定では 15 秒に設定) が指定されています。このパラメータによって、エージェントがレプリケーション ノードにログインする (マージ エージェントがパブリッシャにログインするなど) 時間が決まります。-LoginTimeOut の値を、レプリケーション エージェントの検査ジョブを実行する間隔よりも高く設定すると、ログインの問題がエラーの根本原因になる場合があります。エージェントで他の具体的なエラーが発生する前にエラー MSSQL_ENG020554 が発生します。
ユーザーの操作
必要な操作は、エラーが発生した原因によって異なります。
このエラーが発生するすべてのケースで、次のアクションを実行します。
レプリケーション モニタでエラーの詳細を確認してから、エージェントが停止している場合は再起動します。エラーの詳細には、エージェントが正しく実行されなかった原因について追加の情報が示されている場合があります。エージェントが実行中の場合は、エージェントを停止および再起動しないでください。停止および再起動すると、問題がさらに悪化する可能性があります。レプリケーション モニタにおけるエージェントの状態およびエラーの詳細の表示については、以下のトピックを参照してください。
スナップショット エージェント、ログ リーダー エージェント、およびキュー リーダー エージェントについては、「パブリケーションに関連付けられているエージェントの情報を表示したりタスクを実行する方法 (レプリケーション モニタ)」を参照してください。
ディストリビューション エージェント、およびマージ エージェントについては、「サブスクリプションに関連付けられているエージェントの情報を表示し、タスクを実行する方法 (レプリケーション モニタ)」を参照してください。
エージェントがビジーであるためにこのエラーが頻繁に発生する場合は、次の操作を実行します。
場合によっては、エージェントの処理時間が短くなるように、アプリケーションを再設計する必要があります。詳細については、「パフォーマンス (レプリケーション)」を参照してください。
[ジョブのプロパティ] ダイアログ ボックスを使用してエージェントの状態を確認する間隔を長くすることができます。レプリケーション ジョブに対して、このダイアログ ボックスへアクセスする詳細については、「パブリッシャの情報を表示し、タスクを実行する方法 (レプリケーション モニタ)」を参照してください。
エージェントがトポロジ内のコンピュータのいずれにもログインできない場合には、次の操作を実行します。
-LoginTimeOut の値を、レプリケーション エージェントの検査ジョブを実行する間隔よりも低い値に設定することをお勧めします。ネットワークの問題により、-LoginTimeOut が高く設定され、その結果ログインがタイムアウトになる場合があります。-LoginTimeOut の値を低く設定すると、レプリケーションから他の具体的なエラーが報告されるので、ログインの問題の原因 (権限、ネットワーク障害、その他の問題など) を特定してトラブルシューティングできます。エージェント パラメータは、エージェント プロファイルおよびコマンド ラインで指定できます。詳細については、以下を参照してください。