Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 General SQL Server Forums
 Script Library
 Querying msdb for job history

Author  Topic 

Lumbago
Norsk Yak Master

3271 Posts

Posted - 2013-02-21 : 09:14:53
I recently had the need to create an SSRS report showing the status of some jobs from the 10 last days, so I wrote this script that I thought could come in handy to others as well. The contents should be pretty self explanatory except maybe for the RowNum column which is there to separate each iteration of the job:

WITH cte_jobhistory AS (
--> Creating a cte only to make the columns run_date and run_time into a "datetime-friendly" format
-- so it can be used for filtering
SELECT
RunDateString =
SUBSTRING(CAST(run_date as VARCHAR(20)), 1, 4) + '-' +
SUBSTRING(CAST(run_date as VARCHAR(20)), 5, 2) + '-' +
SUBSTRING(CAST(run_date as VARCHAR(20)), 7, 2),
RunTimeString =
SUBSTRING(RIGHT('000000' + CAST(run_time as VARCHAR(20)), 6), 1, 2) + ':' +
SUBSTRING(RIGHT('000000' + CAST(run_time as VARCHAR(20)), 6), 3, 2) + ':' +
SUBSTRING(RIGHT('000000' + CAST(run_time as VARCHAR(20)), 6), 5, 2),
*
FROM msdb.dbo.sysjobhistory
)
SELECT
a.name,
RowNum = ROW_NUMBER() OVER (PARTITION BY a.name, b.step_id ORDER BY instance_id DESC),
b.step_id,
b.step_name,
b.message,
RunStatus = CASE b.run_status
WHEN 0 THEN 'Failed'
WHEN 1 THEN 'Succeded'
WHEN 2 THEN 'Retry'
WHEN 3 THEN 'Cancelled'
WHEN 4 THEN 'In Progress'
END,
b.run_duration,
b.RunDateString,
b.RunTimeString
FROM msdb.dbo.sysjobs a
INNER JOIN cte_jobhistory b
ON a.job_id = b.job_id
WHERE CONVERT(datetime, b.RunDateString) > GETDATE()-10
ORDER BY a.name ASC, b.instance_id DESC


- Lumbago
My blog-> http://thefirstsql.com

visakh16
Very Important crosS Applying yaK Herder

52326 Posts

Posted - 2013-02-21 : 22:58:22
Thanks for this. SQL 2012 has Job Execution history report available as a standard report within SSMS.

------------------------------------------------------------------------------------------------------
SQL Server MVP
http://visakhm.blogspot.com/

Go to Top of Page
   

- Advertisement -