Hi Andy,
I use this script to capture info on job/job step duration
DECLARE @JOBNAME varchar(200)
SET @JOBNAME = 'YoUR Job Name'
SELECT DISTINCT j.name [JOB], jt.Step_ID [StepID],jt.Step_Name [Step],
SUBSTRING(CAST(jt.Last_Run_Duration AS varchar(10)) ,LEN(CAST(jt.Last_Run_Duration AS varchar(10)))-5,2) [Hours],
SUBSTRING(CAST(jt.Last_Run_Duration AS varchar(10)) ,LEN(CAST(jt.Last_Run_Duration AS varchar(10)))-3,2) [Minutes],
RIGHT(jt.Last_Run_Duration,2)[Seconds],jt.Last_Run_Date [Last Run Date],jt.Last_Run_Time [Time],GetDate() [Check Date]
FROM msdb.dbo.sysjobs j
INNER JOIN msdb.dbo.sysjobschedules js ON js.job_Id = j.job_id
INNER JOIN msdb.dbo.sysjobsteps jt ON jt.job_id = j.job_id
WHERE j.name = @JobName
ORDER BY [StepID]
Enter the name of your job in the job name variable and run this against the MSDB databse.
Any thoughts?
Graeme