sp_help_job (Transact-SQL)

Aplica-se a: SQL Server

Retorna informações sobre trabalhos usados pelo SQL Server Agent para executar atividades automatizadas no SQL Server.

Convenções de sintaxe de Transact-SQL

Sintaxe

sp_help_job
    [ [ @job_id = ] 'job_id' ]
    [ , [ @job_name = ] N'job_name' ]
    [ , [ @job_aspect = ] 'job_aspect' ]
    [ , [ @job_type = ] 'job_type' ]
    [ , [ @owner_login_name = ] N'owner_login_name' ]
    [ , [ @subsystem = ] N'subsystem' ]
    [ , [ @category_name = ] N'category_name' ]
    [ , [ @enabled = ] enabled ]
    [ , [ @execution_status = ] execution_status ]
    [ , [ @date_comparator = ] 'date_comparator' ]
    [ , [ @date_created = ] date_created ]
    [ , [ @date_last_modified = ] date_last_modified ]
    [ , [ @description = ] N'description' ]
[ ; ]

Argumentos

@job_id [ = ] 'job_id'

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

Para exibir um trabalho específico, @job_id ou @job_name devem ser especificados. Omita @job_id e @job_name para retornar informações sobre todos os trabalhos.

@job_name [ = ] N'job_name'

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

Para exibir um trabalho específico, @job_id ou @job_name devem ser especificados. Omita @job_id e @job_name para retornar informações sobre todos os trabalhos.

@job_aspect [ = ] 'job_aspect'

O atributo de trabalho a ser exibido. @job_aspect é varchar(9) e pode ser um desses valores.

Valor Descrição
ALL Informações de aspecto do trabalho
JOB Informações sobre o cargo
SCHEDULES Informações da agenda
STEPS Informações de etapa do trabalho
TARGETS Informações de destino

@job_type [ = ] 'job_type'

O tipo de trabalho a ser incluído no relatório.@job_type é varchar(12), com um padrão de NULL. @job_type pode ser LOCAL ou MULTI-SERVER.

@owner_login_name [ = ] N'owner_login_name'

O nome de logon do proprietário do trabalho. @owner_login_name é sysname, com um padrão de NULL.

@subsystem [ = ] N'subsistema'

O nome do subsistema. @subsystem é nvarchar(40), com um padrão de NULL.

@category_name [ = ] N'category_name'

O nome da categoria. @category_name é sysname, com um padrão de NULL.

@enabled [ = ] habilitado

Um número que indica se as informações são mostradas para trabalhos habilitados ou desabilitados. @enabled é tinyint, com um padrão de NULL.

  • 1 indica trabalhos habilitados.
  • 0 indica trabalhos desativados.

@execution_status [ = ] execution_status

O status da execução dos trabalhos. @execution_status é int e pode ser um desses valores.

Valor Descrição
0 Retorna apenas os trabalhos que não estão ociosos ou suspensos.
1 Em execução.
2 Esperando por thread.
3 Entre repetições.
4 Ocioso.
5 Suspenso.
7 Executando ações de conclusão.

@date_comparator [ = ] 'date_comparator'

O operador de comparação a ser usado em comparações de @date_created e @date_last_modified. @date_comparator é char(1) e pode ser =, <, ou >.

@date_created [ = ] date_created

A data em que o trabalho foi criado. @date_created é datetime, com um padrão de NULL.

@date_last_modified [ = ] date_last_modified

A data em que o trabalho foi modificado pela última vez. @date_last_modified é datetime, com um padrão de NULL.

@description [ = ] N'descrição'

A descrição do trabalho. @description é nvarchar(512), com um padrão de NULL. @description pode incluir os caracteres curinga para correspondência de padrões.

Valores do código de retorno

0 (sucesso) ou 1 (falha).

Conjunto de resultados

Se nenhum argumento for especificado, sp_help_job retornará esse conjunto de resultados.

Nome da coluna Tipo de dados Descrição
job_id uniqueidentifier A ID exclusiva do trabalho.
originating_server nvarchar(30) Nome do servidor do qual o trabalho originou.
name sysname Nome do trabalho.
enabled tinyint Indica se o trabalho está habilitado, para que possa ser executado.
description nvarchar(512) Descrição do trabalho.
start_step_id int ID da etapa do trabalho em que a execução deve começar.
category sysname Categoria do trabalho.
owner sysname Proprietário do trabalho.
notify_level_eventlog int Uma máscara de bits que indica as circunstâncias em que um evento de notificação deve ser registrado no log de aplicativos do Microsoft Windows. Pode ser um destes valores:

0 = Nunca
1 = Quando um trabalho é bem-sucedido
2 = Quando o trabalho falha
3 = Sempre que o trabalho for concluído (independentemente do resultado do trabalho)
notify_level_email int Uma máscara de bits que indica as circunstâncias em que um email de notificação deve ser enviado quando um trabalho é concluído. Os valores possíveis são os mesmos que para notify_level_eventlog.
notify_level_netsend int Uma máscara de bits que indica as circunstâncias em que uma mensagem de rede deve ser enviada quando um trabalho é concluído. Os valores possíveis são os mesmos que para notify_level_eventlog.
notify_level_page int Uma máscara de bits que indica as circunstâncias em que uma página deve ser enviada quando um trabalho é concluído. Os valores possíveis são os mesmos que para notify_level_eventlog.
notify_email_operator sysname Nome de email do operador a ser notificado.
notify_netsend_operator sysname Nome do computador ou usuário usado ao enviar mensagens de rede.
notify_page_operator sysname Nome do computador ou usuário usado ao enviar uma página.
delete_level int Uma máscara de bits que indica as circunstâncias em que o trabalho deve ser excluído quando um trabalho é concluído. Os valores possíveis são os mesmos que para notify_level_eventlog.
date_created datetime Data em que o trabalho foi criado.
date_modified datetime Data em que o trabalho foi modificado pela última vez.
version_number int Versão do trabalho (atualizada automaticamente sempre que o trabalho é modificado).
last_run_date int Data da última execução do trabalho.
last_run_time int Hora da última execução do trabalho.
last_run_outcome int Resultado do trabalho na última vez em que foi executado:

0 = Falha
1 = Bem sucedido
3 = Cancelado
5 = Desconhecido
next_run_date int Próxima data em que o trabalho foi agendado para ser executado.
next_run_time int Próxima hora em que o trabalho foi agendado para ser executado.
next_run_schedule_id int Número de identificação do próximo agendamento de execução.
current_execution_status int Status de execução atual:

1 = Executando
2 = Aguardando Thread
3 = Entre Tentativas
4 = Ocioso
5 = Suspenso
6 = Obsoleto
7 = ExecutandoAçõesConcluídas
current_execution_step sysname Etapa de execução atual no trabalho.
current_retry_attempt int Se o trabalho estiver em execução e a etapa tiver sido repetida, essa será a tentativa de repetição atual.
has_step int Número de etapas que o trabalho possui.
has_schedule int Número de agendamentos que o trabalho possui.
has_target int Número de servidores de destino que o trabalho possui.
type int Tipo do trabalho.

1 = Trabalho local.
2 = Trabalho multisservidor.
0 = O trabalho não tem servidores de destino.

Se @job_id ou @job_name for especificado, sp_help_job retornará esses conjuntos de resultados adicionais para etapas de trabalho, agendamentos de trabalho e servidores de destino de trabalho.

Este é o conjunto de resultados para etapas de trabalho.

Nome da coluna Tipo de dados Descrição
step_id int Identificador exclusivo (para este trabalho) da etapa.
step_name sysname Nome da etapa.
subsystem nvarchar(40) Subsistema no qual o comando de etapa será executado.
command Nvarchar(3200) Comando que será executado.
flags nvarchar(4000) Um bitmask de valores que controlam o comportamento da etapa.
cmdexec_success_code int Para uma etapa CmdExec , esse é o código de saída do processo de um comando bem-sucedido.
on_success_action nvarchar(4000) O que fazer se a etapa tiver êxito:

1 = Saia com sucesso.
2 = Sair com falha.
3 = Vá para a próxima etapa.
4 = Vá para a etapa.
on_success_step_id int Se on_success_action for 4, isso indica a próxima etapa a ser executada.
on_fail_action nvarchar(4000) Ação a ser executada se a etapa falhar. Os valores são os mesmos que para on_success_action.
on_fail_step_id int Se on_fail_action for 4, isso indica a próxima etapa a ser executada.
server sysname Reservado.
database_name sysname Para uma etapa Transact-SQL, esse é o banco de dados no qual o comando é executado.
database_user_name sysname Para uma etapa Transact-SQL, esse é o contexto do usuário do banco de dados no qual o comando é executado.
retry_attempts int Número máximo de vezes que o comando deve ser repetido (se não for bem-sucedido) antes que a etapa seja considerada como tendo falhado.
retry_interval int Intervalo (em minutos) entre quaisquer tentativas de repetição.
os_run_priority varchar(4000) Reservado.
output_file_name varchar(200) Arquivo no qual a saída do comando deve ser gravada (somente etapas Transact-SQL e CmdExec ).
last_run_outcome int Resultado da etapa na última vez em que foi executada:

0 = Falha
1 = Bem sucedido
3 = Cancelado
5 = Desconhecido
last_run_duration int Duração (em segundos) da etapa na última vez em que foi executada.
last_run_retries int Número de vezes que o comando foi repetido da última vez em que a etapa foi executada.
last_run_date int Data em que a execução da etapa foi iniciada pela última vez.
last_run_time int Hora em que a execução da etapa foi iniciada pela última vez.
proxy_id int Proxy da etapa do trabalho.

Este é o conjunto de resultados para agendas de trabalho.

Nome da coluna Tipo de dados Descrição
schedule_id int Identificador da agenda (exclusivo em todos os trabalhos).
schedule_name sysname Nome da agenda (exclusivo somente para este trabalho).
enabled int Se o agendamento está ativo (1) ou não (0).
freq_type int Valor que indica quando o trabalho será executado:

1 = Uma vez
4 = Diário
8 = Semanais
16 = Mensal
32 = Mensal, em relação ao freq_interval
64 = Executar quando o serviço SQL Server Agent for iniciado.
freq_interval int Dias em que o trabalho é executado. O valor depende do valor de freq_type. Para obter mais informações, consulte sp_add_schedule
freq_subday_type int Unidades para freq_subday_interval. Para obter mais informações, consulte sp_add_schedule
freq_subday_interval int Número de freq_subday_type períodos a serem observados entre cada execução do trabalho. Para obter mais informações, consulte sp_add_schedule
freq_relative_interval int Ocorrência do trabalho agendado em freq_interval cada mês. Para obter mais informações, consulte sp_add_schedule
freq_recurrence_factor int Número de meses entre a execução agendada do trabalho.
active_start_date int Data em que a execução do trabalho será iniciada.
active_end_date int Data em que a execução do trabalho será finalizada.
active_start_time int Hora de iniciar a execução do trabalho em active_start_date.
active_end_time int Tempo para terminar a execução do trabalho em active_end_date.
date_created datetime Data em que a agenda foi criada.
schedule_description nvarchar(4000) Uma descrição em inglês da agenda (se solicitado).
next_run_date int A próxima data do agendamento faz com que o trabalho seja executado.
next_run_time int O tempo em que o agendamento for executado fará com que o trabalho seja executado.
schedule_uid uniqueidentifier Identificador da agenda.
job_count int Retorna o número de trabalhos que fazem referência a esta agenda.

Este é o conjunto de resultados para servidores de destino de trabalho.

Nome da coluna Tipo de dados Descrição
server_id int Identificador do servidor de destino.
server_name nvarchar(30) Nome do computador do servidor de destino.
enlist_date datetime Data em que o servidor de destino foi inscrito no servidor mestre.
last_poll_date datetime Data em que o servidor de destino fez a última sondagem no servidor mestre.
last_run_date int Data em que a execução do trabalho foi iniciada pela última vez nesse servidor de destino.
last_run_time int Hora em que a execução do trabalho foi iniciada pela última vez nesse servidor de destino.
last_run_duration int Duração do trabalho na última vez em que foi executado neste servidor de destino.
last_run_outcome tinyint Resultado do trabalho na última vez em que foi executado neste servidor:

0 = Falha
1 = Bem sucedido
3 = Cancelado
5 = Desconhecido
last_outcome_message nvarchar(1024) Mensagem de resultado do trabalho na última vez em que foi executado neste servidor de destino.

Permissões

Esse procedimento armazenado pertence à função db_owner . Você pode conceder EXECUTE permissões para qualquer usuário, 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 de SQLAgentUserRole só podem exibir trabalhos que possuem. Os membros de sysadmin, SQLAgentReaderRole e SQLAgentOperatorRole podem exibir todos os trabalhos locais e multisservidores.

Exemplos

R. Listar informações de todos os trabalhos

O exemplo a seguir executa o procedimento sp_help_job sem parâmetros para retornar as informações de todos os trabalhos atualmente definidos no banco de dados msdb.

USE msdb;
GO

EXEC dbo.sp_help_job;
GO

B. Listar informações para trabalhos que correspondem a critérios específicos

O exemplo a seguir lista informações dos trabalhos multisservidor pertencentes a françoisa em que o trabalho está habilitado e em execução.

USE msdb;
GO

EXEC dbo.sp_help_job
   @job_type = N'MULTI-SERVER',
   @owner_login_name = N'françoisa',
   @enabled = 1,
   @execution_status = 1;
GO

C. Listar todos os aspectos das informações de um trabalho

O exemplo a seguir lista todos os aspectos das informações do trabalho NightlyBackups.

USE msdb;
GO

EXEC dbo.sp_help_job
    @job_name = N'NightlyBackups',
    @job_aspect = N'ALL';
GO