この記事は、問題を絞り込むときにMicrosoft®MSSQL®ServerAgentのログをナビゲートするのに役立ちます。
デフォルトでは、SQLServerエージェントは警告とエラーを記録するエラーログを作成します。
警告メッセージは、「実行中にジョブ(ジョブ名)が削除されました」などの潜在的な問題に関する情報を提供します。
エラーが発生した場合は、システム管理者が介入する必要があります。一例として、「メールセッションを開始できません。」
SQLServer®は、最大9つのSQLServerエージェントエラーログを維持できます。アーカイブされた各ログには、ログの相対的な経過時間を示す拡張子があります。 .1の拡張 アーカイブされた最新のエラーログと、拡張子が .9であることを示します。 アーカイブされた最も古いエラーログを示します。
実行トレースメッセージはログのスペースをいっぱいにする可能性があるため、システムはSQL Serverエージェントログに書き込みません。完全なエラーログがあると、より困難な問題を効果的に分析する能力が低下します。エラーログはサーバーの処理負荷を増大させるため、通常、特定の問題をデバッグしている場合にのみ、すべてのメッセージをキャプチャする必要があります。
SQL Serverエージェントが停止状態の場合、SQLServerエージェントのエラーログの場所を変更できます。エラーログに情報がない場合、ログファイルを開くことはできません。 dbo.sp_cycle_agent_errorlog を使用して、SQLServerエージェントを停止せずにいつでもSQLServerエージェントログを循環させます 。
SQL Serverエージェントを正しく実行するには、SQLServerのsysadmin固定サーバーロールのメンバーであるユーザーの資格情報を使用するようにエージェントを構成する必要があります。ユーザーには次の権限が必要です:
- サービスとしてログオンします( SeServiceLogonRight )
- プロセスレベルのトークンを置き換えます( SeAssignPrimaryTokenPrivilege )
- トラバースチェックをバイパスします( SeChangeNotifyPrivilege )
- プロセスのメモリクォータを調整します( SeIncreaseQuotaPrivilege )
注: オブジェクトエクスプローラーは、SQLServerエージェントノードを使用する権限がある場合にのみノードを表示します。
SQLServerエージェントログを表示する
- オブジェクトエクスプローラー 、 +をクリックします 署名して、表示するSQLServerエージェントエラーログを含むサーバーを展開します。
- +をクリックします 署名してSQLServerエージェントを展開します 。
- +をクリックします 署名してエラーログを展開します フォルダ。
- 表示するエラーログを右クリックして、[エージェントログの表示]を選択します 。
- 適切なオプションを選択します。 利用可能なオプションを参照してください 。
- 閉じるをクリックします 。
ログファイルビューア-server_name ダイアログボックスには次のオプションがあります:
ロードするログファイルを指定できるダイアログボックスを開きます。
ログファイルの概要グリッドに表示されている情報をテキストファイルにエクスポートできるダイアログボックスを開きます。
選択したログの表示を更新します。 更新 ボタンは、フィルター設定を適用しながら、ターゲットサーバーから選択したログを再読み込みします。
接続など、ログファイルのフィルタリングに使用する設定を指定できるダイアログボックスを開きます 、日付 、またはその他の一般的なフィルター基準。
ログファイルで特定のテキストを検索します。ワイルドカード文字による検索はサポートされていません。
ログファイルエントリのロードを停止します。たとえば、リモートまたはオフラインのログファイルの読み込みに時間がかかり、最新のエントリのみを表示する場合は、このオプションを使用できます。
ログファイルのフィルタリングの概要を表示します。ファイルをフィルタリングしない場合は、次のテキストが表示されます。フィルタが適用されていません 。ログにフィルターを適用すると、次のテキストが表示されます。ログエントリのフィルター: 。
行を選択して、ページの下部に選択したイベント行に関する追加の詳細を表示します。グリッド内の新しい場所に列をドラッグして、列を並べ替えます。グリッドヘッダーの列区切りバーを左または右にドラッグして、列のサイズを変更します。グリッドヘッダーの列区切りバーをダブルクリックして、列のサイズをコンテンツの幅に合わせて自動的に設定します。
イベントが発生したインスタンスの名前を表示します。これは、コンピューター名またはインスタンス名として表示されます。
イベントの日付を表示します。
サービス名( MSSQLSERVER )など、イベントの作成元のソース機能を表示します 、たとえば)。これはすべてのログタイプに表示されるわけではありません。
イベントに関連するメッセージを表示します。
イベントが属するログのタイプを表示します。選択したすべてのログがログファイルの概要ウィンドウに表示されます。
イベントがキャプチャされたソースログの説明を表示します。
SQLServerエージェントログの名前を変更します
注: SQL Serverエージェントは、SQLServerエージェントサービスを再起動するまで新しいログファイルに書き込みません。
- オブジェクトエクスプローラー 、 +をクリックします 署名して、名前を変更するSQLServerエージェントエラーログを含むサーバーを展開します。
- +をクリックします 署名してSQLServerエージェントを展開します。
- エラーログを右クリックします フォルダを選択し、構成を選択します 。
- SQLServerエージェントエラーログの構成 ダイアログボックスで、エラーログファイルに移動します ボックス。
- エラーログの新しいファイルパスとファイル名を入力します。または、省略記号をクリックします(… )エージェントエラーログの場所を指定を開きます ダイアログボックス。
- [ OK]をクリックします 。
SQLServerエージェントのエラーメッセージを送信する
注: ネット送信イベントを受信するには、MicrosoftWindowsMessengerサービスが実行されている必要があります。
- オブジェクトエクスプローラー 、 +をクリックします 署名して、
net send
を使用して、エラーメッセージの送信元となるSQLServerエージェントエラーログを含むサーバーを展開します。 。 - SQLServerエージェントを右クリックします プロパティを選択します 。
- SQLServerエージェントのプロパティ-server_name ダイアログボックス、エラーログ 一般 ページで、ネット送信受信者ボックスにエラーメッセージを送信するユーザー名またはコンピュータ名を入力します 。
- [ OK]をクリックします 。
実行トレースメッセージをSQLServerエージェントエラーログに書き込みます
注 :このオプションを使用するとエラーログが大きくなる可能性があるため、特定のSQLServerエージェントの問題を調査する場合にのみSQLServerエージェントのエラーログに実行トレースメッセージを含めてください。
- オブジェクトエクスプローラー 、 +をクリックします 署名して、実行トレースメッセージを書き込むSQLServerエージェントエラーログを含むサーバーを展開します。
- SQLServerエージェントを右クリックします プロパティを選択します 。
- SQLServerエージェントのプロパティ-server_name ダイアログボックス、エラーログ 一般 ページで、実行トレースメッセージを含めるを選択します チェックボックス。
- [ OK]をクリックします 。