web-dev-qa-db-ja.com

SQLエージェントジョブの詳細な出力を取得する

サーバー上のすべてのデータベースのインデックスを再作成するメンテナンスプランを実行する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ステートメントが切り捨てられているため、ステートメントの出力も切り捨てられているため、失敗した特定のステートメントとその理由を特定できません。これらのメッセージの全文を抽出する方法はありますか?

16
toryan

これらのメッセージの全文を抽出する方法はありますか?

あなたは2つの方法でそれを達成することができます-ジョブステップに行き、詳細タブを選択します:

a。ファイルへの出力(<==私が好む方法)

enter image description here

b。 「ログにテーブル」と「ステップ出力を履歴に含める」(<==メッセージはnvarchar(max)ではなくnvarchar(1024)として保存されるため、長期的にはmsdb..sysjobhistoryをトリムする必要があります)

enter image description here

追加のログ情報を表示するには、このストアドプロシージャsp_help_jobsteplogを使用する必要があります。または、msdb.dbo.sysjobstepslogsテーブルを直接クエリすることもできます。

詳細はこちら

18
Kin Shah

全文を取得できます。

  1. 仕事に行く
  2. 右クリック select properties
  3. 仕事のステップに行く
  4. stepを選択し、editボタンをクリックします
  5. advancedを選択します。ここでは、ログのパスを確認できます。

今、そのパスをたどるだけです。

2
Parassharma1990