Ikke så svært. Husk, at SQL Server til enhver tid opbevarer metadataoplysninger om, hvilke detaljer der aktivt bliver gjort til serveren. Jeg ville gøre dette for at finde fejl i, at du kunne oprette en proc eller funktion, kalde det efter datointerval. Jeg gav dog et eksempel på forespørgslen for øjeblikket:
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