Il semble que vous puissiez utiliser msdb.dbo.sysjobactivity
, en recherchant un enregistrement avec une start_execution_date non nulle et une stop_execution_date nulle, ce qui signifie que la tâche a été démarrée, mais n'est pas encore terminée.
Cela vous donnerait les tâches en cours d'exécution :
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