terça-feira, 16 de março de 2010

Pesquisando o histórico da execução de JOBS do Sql Server

Podemos verificar o histórico de execução de Jobs no Sql Server através da view sysjobhistory, que apresenta dados sobre os resultados de execução de cada Step de cada Job na instância pesquisada.

Observe uma query mais completa sobre esta view, abaixo:

USE msdb
Go

SELECT
      j.name as [Nome do Job],
      h.step_name [Nome do Passo],--um job pode ter diversos passos
      CONVERT(CHAR(10), CAST(STR(h.run_date,8, 0) AS dateTIME), 111) as [Data da Execução],
      STUFF(STUFF(RIGHT('000000' + CAST ( h.run_time AS VARCHAR(6 ) ) ,6),5,0,':'),3,0,':') as [Hora Execução],
      h.run_duration [Tempo de execução em segundos],
      case h.run_status when 0 then 'Falha'
            when 1 then 'Sucesso'
            when 2 then 'Retry'
            when 3 then 'Cancelado pelo usuário'
            when 4 then 'Em execução'
      end as [Status final da execução],
      h.message as [Mensagem da execução]
FROM
      sysjobhistory h
inner join sysjobs j ON j.job_id = h.job_id
ORDER BY
      j.name,
      h.run_date,
      h.run_time
GO


Até a próxima!


Um comentário:

  1. Só lembrando que a coluna "h.run_duration [Tempo de execução em segundos]" refere-se ao tempo decorrido na execução do trabalho ou da etapa no formato "HHMMSS" e não tempo de execução em segundos.

    ResponderExcluir

Leave your comment here!