Je tiens à souligner qu'aucun des T-SQL de cette page ne fonctionnera précisément car aucun d'entre eux ne se joint aux syssessions table pour obtenir uniquement la session en cours et peut donc inclure des faux positifs.
Voir ceci pour référence :Qu'est-ce que cela signifie d'avoir des travaux avec une date d'arrêt nulle ?
Vous pouvez également valider cela en analysant le sp_help_jobactivity procédure dans msdb .
Je me rends compte qu'il s'agit d'un ancien message sur SO, mais je n'ai trouvé ce message que partiellement utile à cause du problème.
SELECT
job.name,
job.job_id,
job.originating_server,
activity.run_requested_date,
DATEDIFF( SECOND, activity.run_requested_date, GETDATE() ) as Elapsed
FROM
msdb.dbo.sysjobs_view job
JOIN
msdb.dbo.sysjobactivity activity
ON
job.job_id = activity.job_id
JOIN
msdb.dbo.syssessions sess
ON
sess.session_id = activity.session_id
JOIN
(
SELECT
MAX( agent_start_date ) AS max_agent_start_date
FROM
msdb.dbo.syssessions
) sess_max
ON
sess.agent_start_date = sess_max.max_agent_start_date
WHERE
run_requested_date IS NOT NULL AND stop_execution_date IS NULL