## Kedy použiť Pri kolízii údržby s prevádzkou, počas výkonnostných testov alebo pri podozrení na zaseknutý job. ## Ako čítať výsledok `running_minutes` porovnaj s bežnou dĺžkou behu jobu. `last_executed_step_id` je posledný **dokončený** krok, aktuálne beží nasledujúci. > [!WARNING] > Po reštarte SQL Agenta vzniká nová session – staršie „bežiace“ záznamy sa ignorujú. Ak údaje nesedia, over Job Activity Monitor a log Agenta. **Oprávnenia:** Čítanie agent tabuliek v msdb, napr. rola `SQLAgentReaderRole`. **Režim:** READ ONLY · **Verzia:** SQL Server 2016 – 2022 ## Súvisiace recepty - [SQL Agent – joby, ktoré naposledy zlyhali](script.php?id=40&s=sql-agent-joby-ktore-naposledy-zlyhali) - [Priebeh BACKUP / RESTORE / DBCC](script.php?id=21&s=priebeh-backup-restore-dbcc)
Skript
SQL Agent – práve bežiace joby
Joby, ktoré podľa aktuálnej session SQL Agenta práve bežia, s časom štartu, dĺžkou behu a posledným dokončeným krokom.
Parametre skriptu doplň a kopíruj hotový skript
/* DeadlockCafe | SQL Agent – práve bežiace joby
Účel: Joby, ktoré podľa aktuálnej session SQL Agenta práve bežia, s časom štartu, dĺžkou behu a posledným dokončeným krokom.
Režim: READ ONLY | SQL Server 2016 – 2022, on-premises
*/
SET NOCOUNT ON;
;WITH latest_session AS
(
SELECT MAX(session_id) AS session_id FROM msdb.dbo.syssessions
)
SELECT j.name AS job_name, a.start_execution_date,
DATEDIFF(MINUTE,a.start_execution_date,GETDATE()) AS running_minutes,
a.last_executed_step_id, a.last_executed_step_date,
a.job_history_id
FROM msdb.dbo.sysjobactivity AS a
JOIN msdb.dbo.sysjobs AS j ON j.job_id=a.job_id
CROSS JOIN latest_session AS x
WHERE a.session_id=x.session_id
AND a.start_execution_date IS NOT NULL
AND a.stop_execution_date IS NULL
ORDER BY a.start_execution_date;