Ich möchte darauf hinweisen, dass keines der T-SQL-Elemente auf dieser Seite genau deshalb funktionieren wird, weil keines von ihnen den syssessions beitritt Tabelle, um nur die aktuelle Sitzung zu erhalten, und könnte daher falsch positive Ergebnisse enthalten.
Siehe dies als Referenz:Was bedeutet es, Jobs mit einem Null-Enddatum zu haben?
Sie können dies auch überprüfen, indem Sie die sp_help_jobactivity analysieren Prozedur in msdb .
Mir ist klar, dass dies eine alte Nachricht auf SO ist, aber ich fand diese Nachricht aufgrund des Problems nur teilweise hilfreich.
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