Nicht so schwer. Denken Sie daran, dass SQL Server jederzeit Metadaten darüber speichert, welche Details aktiv mit dem Server gemacht werden. Ich würde dies tun, um Fehler zu finden, indem Sie einen Prozess oder eine Funktion erstellen und nach Datumsbereich benennen könnten. Ich habe jedoch vorerst nur ein Beispiel für die Abfrage gegeben:
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