SQL Server で SQL Server エージェントでジョブを実行している場合、sys.dm_exec_sessions の「program_name」に 「SQLAgent – TSQL JobStep (Job 0x66479B4A282C8545BED20F14B618478A : Step 2)」というような形式で表示が行われています。
この際、表示されている program_name ですが、GUID を Binary 表示したものとなっています。
これをジョブ ID と関連付けるためには、次のようなクエリを実行します。
SELECT T.*, j.name, j.description FROM ( SELECT program_name, CAST( CONVERT(varbinary, SUBSTRING( program_name, CHARINDEX('0x', program_name), 34 ),1) AS uniqueidentifier) AS job_id FROM sys.dm_exec_sessions AS es WHERE program_name Like '%JobStep%0x%' ) AS T LEFT JOIN msdb.dbo.sysjobs AS j ON j.job_id = T.job_id
これにより、SQL Server エージェント ジョブの program_name を実際のジョブ名と関連付けることができます。
sys.dm_exec_requests と sys.dm_exec_sessions を組み合わせて、実行中のクエリ情報を取得する際にはプログラム名も取得するのが定石となります。
SQL Server エージェント ジョブについても「実際にはどのジョブなのか?」が確認できた方が分析の効率が良いですので、このような方法で program_name をジョブ名と関連付けるための方法は覚えておくとよいかと。