Get job name on fly
Rédigé par Sozezzo - - Aucun commentaireGet 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))'