サーバー上のすべてのデータベースのインデックスを再作成するメンテナンスプランを実行するSQL Serverエージェントジョブがあります。最近これは失敗しましたが、ジョブ履歴は問題を診断するのに十分な情報を提供していません。
ジョブ履歴にはジョブは失敗しました。ジョブはユーザーfoo\barによって呼び出されました。実行する最後のステップはステップ1(インデックスの再構築)でした。
詳細ウィンドウには、次の形式の複数のメッセージがあります。
Executing query "ALTER INDEX [something] ON [a...".: 0% complete End Progress Progress: 2015-03-15 22:51:23.67 Source: Rebuild Index Task
実行中のSQLステートメントが切り捨てられているため、ステートメントの出力も切り捨てられているため、失敗した特定のステートメントとその理由を特定できません。これらのメッセージの全文を抽出する方法はありますか?
これらのメッセージの全文を抽出する方法はありますか?
あなたは2つの方法でそれを達成することができます-ジョブステップに行き、詳細タブを選択します:
a。ファイルへの出力(<==私が好む方法)
b。 「ログにテーブル」と「ステップ出力を履歴に含める」(<==メッセージはnvarchar(max)
ではなくnvarchar(1024)
として保存されるため、長期的にはmsdb..sysjobhistory
をトリムする必要があります)
追加のログ情報を表示するには、このストアドプロシージャsp_help_jobsteplogを使用する必要があります。または、msdb.dbo.sysjobstepslogs
テーブルを直接クエリすることもできます。
全文を取得できます。
select properties
step
を選択し、edit
ボタンをクリックしますadvanced
を選択します。ここでは、ログのパスを確認できます。今、そのパスをたどるだけです。