sql >> Databáze >  >> RDS >> Sqlserver

Získejte stav úlohy SQL Server

Ne tak těžké. Mějte na paměti, že SQL Server neustále uchovává informace o metadatech o tom, jaké podrobnosti se na serveru aktivně dělají. Udělal bych to, abych našel selhání v tom, že byste mohli vytvořit proc nebo funkci, nazvat ji podle období. Prozatím jsem uvedl příklad pouze dotazu:

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. Vraťte booleovskou hodnotu jako TRUE nebo FALSE ve výběru (PostgreSQL/pgAdmin)

  2. Datum MySQL se po uložení JPA změní na včerejší datum

  3. OperationalError:(2002, nelze se připojit k místnímu serveru MySQL přes soket '/var/run/mysqld/mysqld.sock' (2))

  4. Co jsou uložené procedury PL/SQL v databázi Oracle