Find the Session ID of an executing SQL Agent job

On a busy production server I wanted to check when a job started running , I tried to look at the sysjob history table in the MSDB

 

However there are no entries for inflight jobs (meaning no entries for job that haven't failed or pass)

The sysjobschedules table from msdb will only show you failed or successful runs

 

While there are scripts available online to do this , you can use the below DMV's as well

 

select * from sys.jobs

-->Copy the job ID of your job name

select PROGRAM_NAME , * from sysprocesses where spid> 50

 

The result will be something like:

SQLAgent - TSQL JobStep (Job xx23453AB7EC97864084xxxxxF72B8CC9E : Step 1)

-->Make sure the program_name matches the Job ID you are looking for
Get the spid from here

 

--> You can now use it in below DMV's to check for blockings or waittypes

select * from sys.dm_exec_requests where session_id = 102
select last_batch, * from sysprocesses where spid = 102