6

SQL ジョブが実行されたかどうかをスケジュールに基づいて通知する SQL クエリを作成しようとしています。たとえば、ジョブが午後 12 時に実行される予定で、午後 12 時 5 分になったのにまだ実行されていない場合、それを知りたいです。それを検出するための最良のアプローチは何ですか?

以前、定期的に実行する SQL ジョブがあり、SQL Server がそれらを実行しなかったことがありました。これを防ぐために、SQL Server 2008 R2 に対してクエリを実行し、ジョブが実行されたかどうかを確認し、実行されていない場合はアラートをトリガーします。

助けてくれてありがとう!

4

3 に答える 3

1

このクエリは、ジョブ実行の詳細を示します。

Select hist.run_date,hist.run_status,hist.run_time
from msdb..sysjobs jb 
inner join msdb..sysjobhistory hist
on jb.job_id = hist.job_id
where jb.name = 'MyJob'

Sql Books Online http://msdn.microsoft.com/en-us/library/ms174997.aspxに従って

run_status

ジョブ実行のステータス:

0 = 失敗

1 = 成功

2 = 再試行

3 = キャンセル

于 2013-02-11T19:47:51.717 に答える
1

文書化されていない手順を試すことができます

sys.xp_sqlagent_enum_jobs

このプロシージャは、ジョブの最終実行日時を返します。

于 2013-02-11T19:43:59.497 に答える