我需要一個SQL查詢,它應該爲我提供SQL Server中所有作業的最新狀態。SQL查詢以獲取SQL Server中所有作業的狀態
查詢下面我試圖獲得狀態,但它不會給出SQL服務器中所有作業的狀態。
SELECT DISTINCT name AS [Job Name],
CASE WHEN enabled=1 THEN 'Enabled'
ELSE 'Disabled'
END [Job Status],
CASE WHEN SJH.run_status=0 THEN 'Failed'
WHEN SJH.run_status=1 THEN 'Succeeded'
WHEN SJH.run_status=2 THEN 'Retry'
WHEN SJH.run_status=3 THEN 'Cancelled'
ELSE 'Unknown'
END [Job Outcome],
sjh.run_date,
sjh.run_time
FROM SYSJobs sj
LEFT JOIN SYSJobHistory sjh
ON sj.job_id = sjh.job_id
WHERE (
sjh.run_date IN (
SELECT MAX(sjh1.run_date)
FROM SYSJobHistory sjh1
WHERE sjh.job_id = sjh1.job_id
)
OR sjh.run_date IS NULL
)
AND (
sjh.run_time IN (
SELECT MAX(sjh1.run_time)
FROM SYSJobHistory sjh1
WHERE sjh.job_id = sjh1.job_id
)
OR sjh.run_time IS NULL
)
ORDER BY [Job Name]
感謝您的支持。查詢按預期工作。 – VENKATESH