HiveBrain v1.2.0
Get Started
← Back to all entries
patternsqlCritical

Script to see running jobs in SQL Server with Job Start Time

Submitted by: @import:stackexchange-dba··
0
Viewed 0 times
scriptsqlwithseetimejobsrunningstartserverjob

Problem

how to write script to see running jobs in SQL Server with Job Start Time?

SELECT sj.name, 
 sja.run_requested_date, 
 CONVERT(VARCHAR(12), 
sja.stop_execution_date-sja.start_execution_date, 114) Duration
      FROM msdb.dbo.sysjobactivity sja
INNER JOIN msdb.dbo.sysjobs sj
        ON sja.job_id = sj.job_id
     WHERE sja.run_requested_date IS NOT NULL
  ORDER BY sja.run_requested_date desc;

Solution

I posted a query a while back for getting a list of currently running jobs here.

SELECT
    ja.job_id,
    j.name AS job_name,
    ja.start_execution_date,      
    ISNULL(last_executed_step_id,0)+1 
         AS current_executed_step_id,
    Js.step_name
FROM msdb.dbo.sysjobactivity ja 
LEFT JOIN msdb.dbo.sysjobhistory jh 
    ON ja.job_history_id = jh.instance_id
JOIN msdb.dbo.sysjobs j 
ON ja.job_id = j.job_id
JOIN msdb.dbo.sysjobsteps js
    ON ja.job_id = js.job_id
    AND ISNULL(ja.last_executed_step_id,0)+1 = js.step_id
WHERE ja.session_id = (SELECT TOP 1 session_id 
                         FROM msdb.dbo.syssessions 
                     ORDER BY agent_start_date DESC)
AND start_execution_date is not null
AND stop_execution_date is null;


This has job name, job id, start time and what step it's running on. If you follow the link above you can get some more detail on how I came up with it and what else is available.

Code Snippets

SELECT
    ja.job_id,
    j.name AS job_name,
    ja.start_execution_date,      
    ISNULL(last_executed_step_id,0)+1 
         AS current_executed_step_id,
    Js.step_name
FROM msdb.dbo.sysjobactivity ja 
LEFT JOIN msdb.dbo.sysjobhistory jh 
    ON ja.job_history_id = jh.instance_id
JOIN msdb.dbo.sysjobs j 
ON ja.job_id = j.job_id
JOIN msdb.dbo.sysjobsteps js
    ON ja.job_id = js.job_id
    AND ISNULL(ja.last_executed_step_id,0)+1 = js.step_id
WHERE ja.session_id = (SELECT TOP 1 session_id 
                         FROM msdb.dbo.syssessions 
                     ORDER BY agent_start_date DESC)
AND start_execution_date is not null
AND stop_execution_date is null;

Context

StackExchange Database Administrators Q#58859, answer score: 62

Revisions (0)

No revisions yet.