How to find SQL Server job fail from history

The dbo.sysjobhistory is Contains information about the execution of scheduled jobs by SQL Server Agent in MSDB database.

--->> Job failure job step failure
select j.name	    ,js.step_name    ,jh.sql_severity	    
	,jh.message    ,jh.run_date	    ,jh.run_time
	, MSDB.dbo.agent_datetime(jh.run_date,jh.run_time) as date_time
		,(CASE run_status WHEN 0 THEN 'Failed' WHEN 1 THEN 'Succeeded' WHEN 2 THEN 'Retry'
				WHEN 3 THEN 'Canceled' WHEN 4 THEN 'In progress' END) as run_status
FROM msdb.dbo.sysjobs AS j
INNER JOIN msdb.dbo.sysjobsteps AS js   ON js.job_id = j.job_id
INNER JOIN msdb.dbo.sysjobhistory AS jh   ON jh.job_id = j.job_id AND jh.step_id = js.step_id
WHERE jh.run_status = 0 and cast(jh.run_date as int)> 20200318

Additional function agent_datetime

Reference

https://docs.microsoft.com/en-us/sql/relational-databases/system-tables/dbo-sysjobhistory-transact-sql?view=sql-server-ver15

Spread the love

Leave a Comment