Its not always quick and easy in SQL Server to get a full list of the jobs that have been run, when they were run and how long they took. I created the following script to quickly check on the status and run time of SQL Server maintenance plans and jobs.
Display Job History
;WITH jobListCTE as ( SELECT j.name as job_name, msdb.dbo.agent_datetime(run_date, run_time) AS run_datetime, RIGHT('000000' + CONVERT(varchar(6), run_duration), 6) AS run_duration, message FROM msdb..sysjobhistory h INNER JOIN msdb..sysjobs j ON h.job_id = j.job_id WHERE h.step_name = '(Job outcome)' ) SELECT job_name as [JobStep], run_datetime as [StartDateTime], SUBSTRING(run_duration, 1, 2) + ':' + SUBSTRING(run_duration, 3, 2) + ':' + SUBSTRING(run_duration, 5, 2) as [Duration], message FROM jobListCTE ORDER BY run_datetime DESC, job_name;
Just run the script in SQL Server Management Studio to get your job history ordered descending by when the job was run.