We can get this information by the standard reports available in SQL Server, right click on SQL server agent> Standard reports and select the desired report to see Job History
It can be frustrating to find recently failed jobs in the job history in SQL Server Management Studio. A quicker way to do it is to just run a query to see what jobs have failed recently.
Below Query will give you list of failed jobs, you can also filter by name.
select j.name ,js.step_name ,jh.sql_severity ,jh.message ,jh.run_date ,jh.run_time 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 name = 'jobName' order by run_date desc
If you want to check results based on data range, you can use below query to find desired results.
-- Variable Declarations DECLARE @FinalDate INT; SET @FinalDate = CONVERT(int , CONVERT(varchar(10), DATEADD(DAY, -2, GETDATE()), 112) ) -- last two days date as Integer in YYYYMMDD format -- Final Logic SELECT j.[name], s.step_name, h.step_id, h.step_name, h.run_date, h.run_time, h.sql_severity, h.message, h.server FROM msdb.dbo.sysjobhistory h INNER JOIN msdb.dbo.sysjobs j ON h.job_id = j.job_id INNER JOIN msdb.dbo.sysjobsteps s ON j.job_id = s.job_id AND h.step_id = s.step_id WHERE h.run_status = 0 -- Failure AND h.run_date > @FinalDate ORDER BY h.instance_id DESC;
Hope this helps!
No comments:
Post a Comment