Partilhar via


sp_help_jobhistory (Transact-SQL)

Aplica-se a:SQL Server

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

Transact-SQL convenções de sintaxe

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' ]
[ ; ]

Arguments

[ @job_id = ] 'job_id'

O número de identificação do trabalho. @job_id é um identificador único, com um padrão de NULL.

[ @job_name = ] N'job_name'

O nome da tarefa. @job_name é sysname, com o 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 devolvido 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 gravidade da mensagem de erro devolvida 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 começou. @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 dois caracteres por um dia.

[ @start_run_time = ] start_run_time

A hora em que o trabalho começou. @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

O momento em que o trabalho terminou a sua execução. @end_run_time é int, com um padrão de NULL. @end_run_time deve ser introduzido na forma 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 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 estado da execução do trabalho. @run_status é int, e pode ser um desses valores.

Valor Description
0 Falha
1 Succeeded
2 Retentar (apenas passos)
3 Cancelado
4 Mensagem em andamento
5 Desconhecido

[ @minimum_retries = ] minimum_retries

O número mínimo de vezes que um trabalho deve tentar correr novamente. @minimum_retries é int, com um padrão de NULL.

[ @oldest_first = ] oldest_first

Se deve apresentar primeiro a produção aos empregos mais antigos. @oldest_first é int, com um padrão de 0.

  • 0 Apresenta primeiro os empregos mais recentes.
  • 1 apresenta primeiro os empregos mais antigos.

[ @server = ] N'servidor'

O nome do servidor onde a tarefa foi realizada. @server é sysname, com um padrão de NULL.

@mode [ = ] 'modo'

Especifica se o SQL Server imprime todas as colunas do conjunto de resultados (FULL) ou um resumo (SUMMARY) das colunas. @mode é varchar(7), com um padrão de SUMMARY.

Valores de código de retorno

0 (sucesso) ou 1 (fracasso).

Conjunto de resultados

A lista real de colunas depende do valor de @mode. O conjunto mais abrangente de colunas é mostrado na tabela seguinte, e é devolvido quando @mode é FULL.

Nome da coluna Tipo de dados Description
instance_id int Histórico número de identificação da entrada.
job_id uniqueidentifier Número de identificação profissional.
job_name sysname Nome do trabalho.
step_id int Número de identificação de degraus (0 para um histórico profissional).
step_name sysname Nome do passo (NULL para um histórico profissional).
sql_message_id int Para um passo Transact-SQL, o número de erro Transact-SQL mais recente encontrado durante a execução do comando.
sql_severity int Para um passo Transact-SQL, o maior Transact-SQL a gravidade do erro encontrada ao executar o comando.
message nvarchar(1024) Mensagem sobre o histórico de emprego ou passos.
run_status int Resultado do trabalho ou degrau.
run_date int Data em que o trabalho ou passo começou a ser executado.
run_time int Tempo em que o trabalho ou passo começou a ser executado.
run_duration int Tempo decorrido na execução do trabalho ou no formato de passos HHmmss .
operator_emailed nvarchar(20) Operador que recebeu um e-mail sobre este trabalho (é NULL para o histórico de passos).
operator_netsent nvarchar(20) Operador que recebeu uma mensagem de rede sobre este trabalho (é NULL para o histórico de passos).
operator_paged nvarchar(20) Operador que foi chamado para este trabalho (é NULL para o histórico de passos).
retries_attempted int Número de vezes que o passo foi tentado novamente (sempre 0 para o histórico profissional).
server nvarchar(30) Servidor onde o step ou job é executado. É sempre (local).

Observações

sp_help_jobhistory Devolve um relatório com o histórico dos trabalhos agendados especificados. Se não forem especificados parâmetros, o relatório contém o histórico de todos os trabalhos agendados.

Permissions

Pode conceder EXECUTE permissões neste procedimento, mas essas permissões podem ser anuladas durante uma atualização do SQL Server.

Outros utilizadores devem receber um dos seguintes papéis fixos de base de dados SQL Server Agent na msdb base de dados:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

Para detalhes sobre as permissões destes papéis, consulte Funções de Base de Dados Fixas do Agente SQL Server.

Os membros da base de dados SQLAgentUserRole só podem visualizar o histórico dos trabalhos que possuem.

Examples

A. Liste toda a informação de um emprego

O exemplo seguinte lista toda a informação do cargo para o NightlyBackups cargo.

USE msdb;
GO

EXECUTE dbo.sp_help_jobhistory @job_name = N'NightlyBackups';
GO

B. Liste informações para empregos que cumpram certas condições

O exemplo seguinte imprime todas as colunas e toda a informação do trabalho para quaisquer trabalhos falhados e passos falhados com uma mensagem de erro ( 50100 uma mensagem de erro definida pelo utilizador) e uma severidade de 20.

USE msdb;
GO

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