• 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