sp_help_jobhistory (Transact-SQL)

Aplica-se a:SQL Server

Fornece informações sobre os trabalhos para servidores no domínio de administração multisservidor.

Convenções de sintaxe de Transact-SQL

Sintaxe

  
sp_help_jobhistory [ [ @job_id = ] job_id ]   
     [ , [ @job_name = ] 'job_name' ]   
     [ , [ @step_id = ] step_id ]   
     [ , [ @sql_message_id = ] sql_message_id ]   
     [ , [ @sql_severity = ] sql_severity ]   
     [ , [ @start_run_date = ] start_run_date ]   
     [ , [ @end_run_date = ] end_run_date ]   
     [ , [ @start_run_time = ] start_run_time ]   
     [ , [ @end_run_time = ] end_run_time ]   
     [ , [ @minimum_run_duration = ] minimum_run_duration ]   
     [ , [ @run_status = ] run_status ]   
     [ , [ @minimum_retries = ] minimum_retries ]   
     [ , [ @oldest_first = ] oldest_first ]   
     [ , [ @server = ] 'server' ]   
     [ , [ @mode = ] 'mode' ]  

Argumentos

[ @job_id = ] job_id O número de identificação do trabalho. job_id é uniqueidentifier, com um padrão de NULL.

[ @job_name = ] 'job_name' O nome do trabalho. job_name é sysname, com um padrão de NULL.

[ @step_id = ] step_id O número de identificação do passo. step_id é int, com um padrão de NULL.

[ @sql_message_id = ] sql_message_id O número de identificação da mensagem de erro retornada pelo Microsoft SQL Server ao executar o trabalho. sql_message_id é int, com um padrão de NULL.

[ @sql_severity = ] sql_severity O nível de gravidade da mensagem de erro retornada pelo SQL Server ao executar o trabalho. sql_severity é int, com um padrão de NULL.

[ @start_run_date = ] start_run_date A data em que o trabalho foi iniciado. start_run_date é int, com um padrão de NULL. start_run_date deve ser inserido no formulário yyyyMMdd, onde YYYY é um ano de quatro caracteres, MM é um nome de mês de dois caracteres e DD é um nome de dia de dois caracteres.

[ @end_run_date = ] end_run_date A data em que o trabalho foi concluído. end_run_date é int, com um padrão de NULL. end_run_date deve ser inserido no formulário yyyyMMdd, onde YYYY é um ano de quatro dígitos, MM é um nome de mês de dois caracteres e DD é um nome de dia de dois caracteres.

[ @start_run_time = ] start_run_time A hora em que o trabalho foi iniciado. start_run_time é int, com um padrão de NULL. start_run_time deve ser inserido no formulário HHmmss, onde HH é uma hora de dois caracteres do dia, MM é um minuto de dois caracteres do dia e SS é um segundo de dois caracteres do dia.

[ @end_run_time = ] end_run_time A hora em que o trabalho concluiu sua execução. end_run_time é int, com um padrão de NULL. end_run_time deve ser inserido no formulário HHmmss, onde HH é uma hora de dois caracteres do dia, MM é um minuto de dois caracteres do dia e SS é um segundo de dois caracteres do dia.

[ @minimum_run_duration = ] minimum_run_duration O período mínimo de tempo para a conclusão do trabalho. minimum_run_duration é int, com um padrão de NULL. minimum_run_duration deve ser inserido no formulário HHmmss, onde HH é uma hora de dois caracteres do dia, MM é um minuto de dois caracteres do dia e SS é um segundo de dois caracteres do dia.

[ @run_status = ] run_status O status de execução do trabalho. run_status é int, com um padrão de NULL, e pode ser um desses valores.

Valor Descrição
0 Com falha
1 Com sucesso
2 Repetir (somente a etapa)
3 Cancelada
4 Mensagem em andamento
5 Desconhecido

[ @minimum_retries = ] minimum_retries O número mínimo de vezes que um trabalho deve ser executado novamente. minimum_retries é int, com um padrão de NULL.

[ @oldest_first = ] oldest_first É se apresentar a saída com os trabalhos mais antigos primeiro. oldest_first é int, com um padrão de 0, que apresenta os trabalhos mais recentes primeiro. 1 apresenta primeiro os trabalhos mais antigos.

[ @server = ] 'server' O nome do servidor no qual o trabalho foi executado. server é nvarchar(30), com um padrão de NULL.

[ @mode = ] 'mode' É se o SQL Server imprime todas as colunas no conjunto de resultados (FULL) ou um resumo das colunas. mode é varchar(7), com um padrão de SUMMARY.

Valores do código de retorno

0 (sucesso) ou 1 (fracasso)

Conjuntos de resultados

A lista de colunas real depende do valor do modo. O conjunto mais abrangente de colunas é mostrado abaixo e é retornado quando o modo é FULL.

Nome da coluna Tipo de dados Descrição
instance_id int Número de identificação de entrada de histórico.
job_id uniqueidentifier Número de identificação do trabalho.
job_name sysname Nome do trabalho.
step_id int Número de identificação da etapa (será 0 para um histórico de trabalho).
step_name sysname Nome da etapa (será o NULL para um histórico de trabalho).
sql_message_id int Para uma etapa Transact-SQL, o número de erro Transact-SQL mais recente encontrado durante a execução do comando.
sql_severity int Para uma etapa Transact-SQL, a maior gravidade de erro Transact-SQL encontrada durante a execução do comando.
message nvarchar(1024) Mensagem de histórico de trabalho ou de etapa.
run_status int Resultado do trabalho ou da etapa.
run_date int Data em que o trabalho ou a etapa começaram a ser executados.
run_time int Hora em que o trabalho ou a etapa começaram a ser executados.
run_duration int Tempo decorrido na execução do trabalho ou etapa no HHmmss formato.
operator_emailed Nvarchar(20) Operador que foi enviado por email relativo a esse trabalho (é NULL para o histórico de etapas).
operator_netsent Nvarchar(20) Operador ao qual foi enviada uma mensagem de rede em relação a esse trabalho (é NULL para o histórico de etapas).
operator_paged Nvarchar(20) Operador que foi informado por pager em relação a esse trabalho (é NULL para o histórico de etapas).
retries_attempted int Número de vezes que a etapa foi repetida (sempre 0 para um histórico de trabalhos).
servidor nvarchar(30) Servidor no qual a etapa ou o trabalho são executados. É sempre (local).

Comentários

sp_help_jobhistory retorna um relatório com o histórico dos trabalhos agendados especificados. Se nenhum parâmetro for especificado, o relatório conterá o histórico para todos os trabalhos agendados.

Permissões

Por padrão, os membros da função de servidor fixa sysadmin podem executar este procedimento armazenado. Deve ser concedida a outros usuários uma das seguintes funções de banco de dados fixas do SQL Server Agent no banco de dados msdb :

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

Para obter detalhes sobre as permissões dessas funções, consulte Funções de banco de dados fixas do SQL Server Agent.

Os membros da função de banco de dados SQLAgentUserRole só podem exibir o histórico de trabalhos que possuem.

Exemplos

R. Listando todas as informações de um trabalho

O exemplo a seguir lista todas as informações de trabalho para o trabalho NightlyBackups.

USE msdb ;  
GO  
  
EXEC dbo.sp_help_jobhistory   
    @job_name = N'NightlyBackups' ;  
GO  

B. Listando informações de trabalhos que correspondam a determinadas condições

O exemplo a seguir imprime todas as colunas e todas as informações de trabalho para quaisquer trabalhos e etapas de trabalho que falharam com uma mensagem de erro de 50100 (uma mensagem de erro definida pelo usuário) e uma severidade de 20.

USE msdb  
GO  
  
EXEC dbo.sp_help_jobhistory  
    @sql_message_id = 50100,  
    @sql_severity = 20,  
    @run_status = 0,  
    @mode = N'FULL' ;  
GO  

Confira também

sp_purge_jobhistory (Transact-SQL)
Procedimentos armazenados do sistema (Transact-SQL)