Wygląda na to, że możesz użyć msdb.dbo.sysjobactivity
, sprawdzając rekord z wartościami start_execution_date i stop_execution_date o wartości innej niż null, co oznacza, że zadanie zostało rozpoczęte, ale jeszcze się nie zakończyło.
To dałoby ci aktualnie uruchomione zadania:
SELECT sj.name
, sja.*
FROM msdb.dbo.sysjobactivity AS sja
INNER JOIN msdb.dbo.sysjobs AS sj ON sja.job_id = sj.job_id
WHERE sja.start_execution_date IS NOT NULL
AND sja.stop_execution_date IS NULL