2016-05-31 4 views
0

エージェントジョブを実行するたびに、データがログに記録されます。私はこのようなT-SQL経由でこれらのデータにアクセスすることができます:SELECT * FROM msdb.dbo.sysjobhistory WHERE step_id = 0。仕事に関する要約情報が表示されます。msdb.dbo.sysjobhistoryの集計データ

問題が発生しましたが、失敗したステップがある場合、「失敗したアクション」は「次のステップに進む」でした。run_statusは成功を示します。

私はstep_id <> 0のデータを集計しようとしましたが、ジョブの実行を区別する方法がわかりません。

この問題を解決できますか?最善の結果は、最初の照会で示されたジョブに現れた状態の別個のリストを持つ追加の列です。

私が達成したいのは、最後の日に実行された仕事のうちの1つです(そのうちのいくつかは複数の時間に実行されます)。

SELECT * FROM [dbo].[sysjobsteps] 

これは、フィールドlast_run_outcomeが含まれています

答えて

0

はにあなたのクエリに参加してみます。完全なテーブルの

MSDNのリンク:

https://msdn.microsoft.com/en-us/library/ms187387.aspx

+0

それは、前回の実行のために素晴らしいことですが、どのような以前の実行と? – Vexator

+0

時刻情報を提供するサードパーティのツールを使用しない限り、ジョブ履歴は常にSQLエージェントの問題だと思います。 エージェントの設定ですべてのジョブ履歴が削除されていますか?エージェントを右クリックしてプロパティに移動した場合。その後、歴史。デフォルトでは、MSDBではわずか1000行のデータしか使用できません。 以前は、すべてのエージェントジョブデータを自分のDBAスタイルレポートデータベースに移動しました。または、最後の実行からすべての結果データを廃棄しない表に転送するステップを各ジョブに追加します。 –