Preskočiť na obsah
Skript

SQL Agent – joby, ktoré naposledy zlyhali

Posledný dokončený beh každého jobu, ktorý skončil chybou alebo bol zrušený – s časom, trvaním a chybovou správou.

sql-agent-joby-ktore-naposledy-zlyhali.sql 26 riadkov · T-SQL
Parametre skriptu doplň a kopíruj hotový skript
/* DeadlockCafe | SQL Agent – joby, ktoré naposledy zlyhali
   Účel:  Posledný dokončený beh každého jobu, ktorý skončil chybou alebo bol zrušený – s časom, trvaním a chybovou správou.
   Režim: READ ONLY | SQL Server 2016 – 2022, on-premises
*/
SET NOCOUNT ON;

;WITH h AS
(
    SELECT j.name AS job_name, j.enabled,
           hist.instance_id, hist.run_status, hist.run_date, hist.run_time,
           hist.run_duration, hist.message,
           ROW_NUMBER() OVER (PARTITION BY j.job_id ORDER BY hist.instance_id DESC) AS rn
    FROM msdb.dbo.sysjobs AS j
    JOIN msdb.dbo.sysjobhistory AS hist ON hist.job_id = j.job_id AND hist.step_id = 0
)
SELECT job_name, enabled,
       CASE run_status WHEN 0 THEN 'FAILED' WHEN 3 THEN 'CANCELED' END AS run_status,
       -- run_date = yyyymmdd, run_time a run_duration = hhmmss ako int
       DATEADD(SECOND, run_time / 10000 * 3600 + run_time / 100 % 100 * 60 + run_time % 100,
               CONVERT(datetime, CONVERT(char(8), run_date), 112))            AS run_started_at,
       run_duration / 10000 * 3600 + run_duration / 100 % 100 * 60 + run_duration % 100 AS duration_seconds,
       message
FROM h
WHERE rn = 1 AND run_status IN (0, 3)
ORDER BY run_started_at DESC;
## Kedy použiť

Ranná kontrola, po maintenance okne alebo po hlásení o neúspešnom jobe.

## Ako čítať výsledok

Berie sa len súhrnný riadok behu (`step_id = 0`). `run_status`: 0 = failed, 3 = canceled. Detail chyby konkrétneho kroku nájdeš v histórii jobu v SSMS.

> [!WARNING]
> Práve bežiaci job ešte nemá súhrnný riadok – na to je recept o bežiacich joboch. História jobov sa pravidelne čistí (predvolene 1000 riadkov celkovo, 100 na job).

**Oprávnenia:** Čítanie agent tabuliek v msdb, napr. rola `SQLAgentReaderRole`.  
**Režim:** READ ONLY · **Verzia:** SQL Server 2016 – 2022

## Súvisiace recepty

- [SQL Agent – práve bežiace joby](script.php?id=41&s=sql-agent-prave-beziace-joby)