• Here is a script that will show you the duration of each step for your jobs. this will give you a clue as to which step might be giving you the problem.

    --shows duration by step for long running multi-step jobs

    select

    j.name as 'JobName',

    s.step_id as 'Step',

    s.step_name as 'StepName',

    msdb.dbo.agent_datetime(run_date, run_time) as 'RunDateTime',

    ((run_duration/10000*3600 + (run_duration/100)%100*60 + run_duration%100 + 31 ) / 60)

    as 'RunDurationMinutes'

    From msdb.dbo.sysjobs j

    INNER JOIN msdb.dbo.sysjobsteps s

    ON j.job_id = s.job_id

    INNER JOIN msdb.dbo.sysjobhistory h

    ON s.job_id = h.job_id

    AND s.step_id = h.step_id

    AND h.step_id <> 0

    where j.enabled = 1 --Only Enabled Jobs

    --and j.name = 'TestJob' --Uncomment to search for a single job

    /*

    and msdb.dbo.agent_datetime(run_date, run_time)

    BETWEEN '12/08/2012' and '12/10/2012' --Uncomment for date range queries

    */

    order by JobName, RunDateTime desc