Tôi muốn chỉ ra rằng không có T-SQL nào trên trang này sẽ hoạt động chính xác bởi vì không có T-SQL nào trong số chúng tham gia vào syssessions để chỉ nhận được phiên hiện tại và do đó có thể bao gồm các kết quả dương tính giả.
Xem phần này để tham khảo: Việc làm có ngày ngừng hoạt động có nghĩa là gì?
Bạn cũng có thể xác thực điều này bằng cách phân tích sp_help_jobactivity thủ tục trong msdb .
Tôi nhận ra rằng đây là một thông báo cũ trên SO, nhưng tôi thấy thông báo này chỉ hữu ích một phần vì sự cố.
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