sp_help_jobhistory (Transact-SQL)
Aplica-se: 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 = ] N'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 = ] N'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 [ = ] N'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 da etapa. @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 SQL Server ao executar o trabalho. @sql_message_id é int, com um padrão de NULL
.
@sql_severity [ = ] sql_severity
O nível de severidade da mensagem de erro retornada pelo Microsoft 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 caracteres, 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 do dia de dois caracteres, mm
é um minuto do dia de dois caracteres e ss
é um segundo do dia de dois caracteres.
@end_run_time [ = ] end_run_time
A hora em que a execução do trabalho foi concluída. @end_run_time é int, com um padrão de NULL
. @end_run_time deve ser inserido no formulário HHmmss
, onde HH
é uma hora do dia de dois caracteres, mm
é um minuto do dia de dois caracteres e ss
é um segundo do dia de dois caracteres.
@minimum_run_duration [ = ] minimum_run_duration
O período de tempo mínimo 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 do dia de dois caracteres, mm
é um minuto do dia de dois caracteres e ss
é um segundo do dia de dois caracteres.
@run_status [ = ] run_status
O status de execução do trabalho.@run_status é int e pode ser um desses valores.
Valor | Descrição |
---|---|
0 |
Com falha |
1 |
Êxito |
2 |
Repetir (somente a etapa) |
3 |
Canceled |
4 |
Mensagem em andamento |
5 |
Desconhecido |
@minimum_retries [ = ] minimum_retries
O número mínimo de horas para repetir a execução de um trabalho. @minimum_retries é int, com um padrão de NULL
.
@oldest_first [ = ] oldest_first
Se deve apresentar a saída com os trabalhos mais antigos primeiro. @oldest_first é int, com um padrão de 0
.
0
apresenta os empregos mais recentes primeiro.1
apresenta os empregos mais antigos primeiro.
@server [ = ] N'servidor'
O nome do servidor no qual o trabalho foi executado. @server é sysname, com um padrão de NULL
.
@mode [ = ] 'modo'
Especifica se o SQL Server imprime todas as colunas no conjunto de resultados (FULL
) ou um resumo (SUMMARY
) das colunas. @mode é varchar(7), com um padrão de SUMMARY
.
Valores do código de retorno
0
(sucesso) ou 1
(falha).
Conjunto de resultados
A lista de colunas real depende do valor de @mode. O conjunto mais abrangente de colunas é mostrado na tabela a seguir e é retornado quando @mode é 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 (0 para um histórico de trabalho). |
step_name |
sysname | Nome da etapa (NULL para um histórico de trabalhos). |
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 job ou etapa no HHmmss formato. |
operator_emailed |
nvarchar(20) | Operador que recebeu um e-mail sobre este trabalho (é NULL para histórico de etapas). |
operator_netsent |
nvarchar(20) | Operador que recebeu uma mensagem de rede sobre este trabalho (é NULL para histórico de etapas). |
operator_paged |
nvarchar(20) | Operador que foi paginado sobre este trabalho (é NULL para histórico de etapas). |
retries_attempted |
int | Número de vezes que a etapa foi repetida (sempre 0 para um histórico de trabalhos). |
server |
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
Você pode conceder EXECUTE
permissões nesse procedimento, mas essas permissões podem ser substituídas durante uma atualização do SQL Server.
Outros usuários devem receber uma das seguintes funções de banco de dados fixas do msdb
SQL Server Agent no banco de dados:
- 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. Listar 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. Listar informações para trabalhos que correspondem 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