我們可以使用DMV去以快速查看執行失敗的JOB清單以及其詳細訊息。
在SQL AGENT建立SQL JOB並設定排程是每個DBA都會做的事,我們可以使用DMV去以快速查看執行失敗的JOB清單以及其詳細訊息。
使用msdb的sysjobhistory、sysjobsteps與sysjobs可以快速查看JOB執行的情況的目的。
--檢視30天內失敗的SQL JOB
DECLARE @Days INT
DECLARE @Date VARCHAR(8)
SET @Days=-30
SET @Date=CONVERT(VARCHAR(8), (SELECT DATEADD (DAY,(@Days), GETDATE())), 112)
SELECT
J.name,
J.[description],
S.step_name,
H.run_date,
H.run_time,
H.[message]
FROM msdb..sysjobhistory H INNER JOIN msdb..sysjobsteps S
ON H.step_id = S.step_id AND H.job_id = S.job_id
INNER JOIN msdb..sysjobs J
ON J.job_id = H.job_id
WHERE h.run_status = 0 AND run_date >= @Date
ORDER BY h.instance_id DESC
執行結果: