Не толкова трудно. Имайте предвид, че SQL Server съхранява информация за метаданни по всяко време за това какви подробности се извършват активно на сървъра. Бих направил това, за да намеря грешки в това, че можете да създадете процедура или функция, да я наречете по диапазон от дати. Дадох пример само за заявката за момента:
use msdb;
declare
@Start int = cast( convert(varchar,
dateadd(ww, datediff(ww, 0, getdate())-1,0) -- last week starting
, 112) as int)
, @End int = cast( convert(varchar,
getdate() -- current datetime
, 112) as int)
;
Select
j.name
, j.description
, cast( cast(jh.run_date as varchar) + ' ' + left(jh.run_time, 2) + ':' + substring( cast(jh.run_time as varchar), 3, 2) as datetime) as TimeRan
, jh.message
, jh.step_id
, jh.step_name
from sysjobs j (nolock)
join sysjobhistory jh (nolock) on j.job_id = jh.job_id
and jh.run_date between @Start and @End
and jh.run_status = 0 -- 0 is failure