Nie tak ciężko. Należy pamiętać, że SQL Server przez cały czas przechowuje informacje o metadanych o tym, jakie szczegóły są aktywnie wykonywane na serwerze. Zrobiłbym to, aby znaleźć błędy polegające na tym, że można utworzyć proc lub funkcję, nazwać to według zakresu dat. Na razie podałem przykład samego zapytania:
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