sql >> Database teknologi >  >> RDS >> Sqlserver

Få SQL Server-jobstatus

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


  1. Ruby 'pg' perle, der linker til forkert kopi af libpq.5.dylib (på OSX)

  2. PHP OCI, Oracle og standard talformat

  3. Hvorfor kan jeg ikke tvinge Oracle 11g til at forbruge flere CPU'er for en enkelt SQL-forespørgsel

  4. Sådan tilføjes en måned til en dato i SQLite