Get job name on fly

Rédigé par Sozezzo - - Aucun commentaire

Get Job name when you are executing job. This is useful when you need to make reference to the job being executed.

 


DECLARE @jobname sysname, @jobid uniqueidentifier

SELECT @jobname=b.name,@jobid=b.job_id 
FROM sys.dm_exec_sessions a,msdb.dbo.sysjobs b
WHERE a.session_id=@@spid
AND
(SUBSTRING(MASTER.dbo.FN_VARBINTOHEXSTR(CONVERT(VARBINARY(16), b.JOB_ID)),1,10)) = SUBSTRING(a.PROGRAM_NAME,30,10)
PRINT 'Job Name : ' + @jobname

 

Instead, you can Use Tokens in Job Steps.
https://docs.microsoft.com/en-us/sql/ssms/agent/use-tokens-in-job-steps


PRINT 'Job Name  : '+'$(ESCAPE_SQUOTE(JOBNAME))'
PRINT 'Step Name : '+'$(ESCAPE_SQUOTE(STEPNAME))'

 

Les commentaires sont fermés.