Partilhar via


sp_help_job (Transact-SQL)

Aplica-se a:SQL Server

Devolve informações sobre trabalhos usados pelo Agente SQL Server para realizar atividades automatizadas no SQL Server.

Transact-SQL convenções de sintaxe

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

Arguments

[ @job_id = ] 'job_id'

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

Para ver um emprego específico, é necessário especificar @job_id ou @job_name . Omita tanto @job_id como @job_name devolver informações sobre todos os empregos.

[ @job_name = ] N'job_name'

O nome da tarefa. @job_name é sysname, com o padrão de NULL.

Para ver um emprego específico, é necessário especificar @job_id ou @job_name . Omita tanto @job_id como @job_name devolver informações sobre todos os empregos.

[ @job_aspect = ] 'job_aspect'

O atributo do trabalho para exibir. @job_aspect é varchar(9), e pode ser um desses valores.

Valor Description
ALL Informação sobre o aspeto do cargo
JOB Informação do emprego
SCHEDULES Informação do calendário
STEPS Informação sobre o passo do trabalho
TARGETS Informação do alvo

[ @job_type = ] 'job_type'

O tipo de empregos a incluir 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 login do proprietário do trabalho. @owner_login_name é sysname, com o 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 = ] ativado

Um número que indica se a informação é apresentada para empregos habilitados ou para empregos com deficiência. @enabled é tinyint, com um padrão de NULL.

  • 1 indica empregos habilitados.
  • 0 Indica empregos com deficiência.

[ @execution_status = ] execution_status

O estado de execução dos trabalhos. @execution_status é int, e pode ser um desses valores.

Valor Description
0 Devolve apenas os trabalhos que não estão parados ou suspensos.
1 A executar.
2 À espera do fio.
3 Entre tentativas.
4 Ocioso.
5 Suspenso.
7 A realizar ações de conclusão.

[ @date_comparator = ] 'date_comparator'

O operador de comparação a usar nas 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 cargo foi criado. @date_created é datatime, 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 é datatime, 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 podem incluir os caracteres coringa para correspondência de padrões.

Valores de código de retorno

0 (sucesso) ou 1 (fracasso).

Conjunto de resultados

Se não forem especificados argumentos, sp_help_job devolve este conjunto de resultados.

Nome da coluna Tipo de dados Description
job_id uniqueidentifier ID exclusivo do trabalho.
originating_server nvarchar(30) Nome do empregado de onde veio o trabalho.
name sysname Nome do trabalho.
enabled tinyint Indica se o trabalho está ativado, para que possa ser executado.
description nvarchar(512) Descrição do trabalho.
start_step_id int ID do passo do trabalho onde a execução deve começar.
category sysname Categoria de 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 registado no registo de aplicações do Microsoft Windows. Pode ser um destes valores:

0 = Nunca
1 = Quando um trabalho tem sucesso
2 = Quando o trabalho falha
3 = Sempre que o trabalho é concluído (independentemente do resultado do trabalho)
notify_level_email int Uma máscara de bits que indica as circunstâncias em que um e-mail 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 Envie um e-mail com o nome do operador para notificar.
notify_netsend_operator sysname Nome do computador ou utilizador utilizado ao enviar mensagens de rede.
notify_page_operator sysname Nome do computador ou utilizador utilizado ao enviar uma página.
delete_level int Uma máscara de bits que indica as circunstâncias em que o trabalho deve ser eliminado quando o trabalho é concluído. Os valores possíveis são os mesmos que para notify_level_eventlog.
date_created datetime Data em que o cargo foi criado.
date_modified datetime Data em que o trabalho foi modificado pela última vez.
version_number int Versão do trabalho (atualizada automaticamente cada vez que o trabalho é modificado).
last_run_date int Data da última vez que o trabalho começou a execução.
last_run_time int A última vez que o trabalho começou a ser executado.
last_run_outcome int Resultado do trabalho na última vez que foi exibido:

0 = Falhou
1 = Sucedeu
3 = Cancelado
5 = Desconhecido
next_run_date int Data em que o trabalho está agendado para a próxima sessão.
next_run_time int Hora em que o trabalho está agendado para a próxima emissão.
next_run_schedule_id int Número de identificação do calendário da próxima corrida.
current_execution_status int Estado atual da execução:

1 = Execução
2 = À Espera do Fio
3 = Entre tentativas
4 = Ocioso
5 = Suspenso
6 = Obsoleto
7 = ExecutarAçõesDeConclusão
current_execution_step sysname Etapa atual de execução no trabalho.
current_retry_attempt int Se o trabalho estiver a correr e o passo foi tentado novamente, esta é a tentativa atual.
has_step int Número de passos do trabalho que o trabalho tem.
has_schedule int Número de horários de trabalho que o trabalho tem.
has_target int Número de servidores-alvo que o trabalho tem.
type int Tipo de trabalho.

1 = Trabalho local.
2 = Trabalho multiservidor.
0 = O trabalho não tem servidores-alvo.

Se for especificado @job_id ou @job_name , devolve sp_help_job estes conjuntos de resultados adicionais para passos de tarefas, agendas de trabalhos e servidores alvo de trabalhos.

Este é o conjunto de resultados para as etapas do trabalho.

Nome da coluna Tipo de dados Description
step_id int Identificador único (para este trabalho) para o passo.
step_name sysname Nome da etapa.
subsystem Nvarchar (40) Subsistema onde executar o comando step.
command nvarchar(3200) Comando para executar.
flags Nvarchar(4000) Uma máscara de valores que controlam o comportamento dos passos.
cmdexec_success_code int Para um passo CmdExec , este é o código de saída do processo de um comando bem-sucedido.
on_success_action Nvarchar(4000) O que fazer se o passo for bem-sucedido:

1 = Desiste com sucesso.
2 = Desistir com falhanço.
3 = Passar para o próximo passo.
4 = Vai para o degrau.
on_success_step_id int Se on_success_action for 4, isto indica o próximo passo a executar.
on_fail_action Nvarchar(4000) Ação a tomar se o passo falhar. Os valores são os mesmos que para on_success_action.
on_fail_step_id int Se on_fail_action for 4, isto indica o próximo passo a executar.
server sysname Reservado.
database_name sysname Para um passo Transact-SQL, esta é a base de dados onde o comando é executado.
database_user_name sysname Para um passo Transact-SQL, este é o contexto do utilizador da base de dados em que o comando é executado.
retry_attempts int O número máximo de vezes que o comando deve ser tentado novamente (se não for bem-sucedido) antes de o passo ser considerado falhado.
retry_interval int Intervalo (em minutos) entre qualquer tentativa de retentativa.
os_run_priority varchar(4000) Reservado.
output_file_name Varchar(200) Ficheiro para o qual a saída de comando deve ser escrita (apenasTransact-SQL e passos do CmdExec ).
last_run_outcome int Resultado do passo na última vez que foi executado:

0 = Falhou
1 = Sucedeu
3 = Cancelado
5 = Desconhecido
last_run_duration int Duração (em segundos) do passo da última vez que foi executado.
last_run_retries int O número de vezes que o comando foi repetido da última vez que o passo foi executado.
last_run_date int Data a última etapa iniciada pela execução.
last_run_time int A última vez que o passo iniciou a execução.
proxy_id int Proxy para a etapa do trabalho.

Este é o conjunto de resultados para os horários de trabalho.

Nome da coluna Tipo de dados Description
schedule_id int Identificador do horário (único em todos os empregos).
schedule_name sysname Nome do horário (único apenas para este trabalho).
enabled int Quer o horário esteja ativo (1) ou não (0).
freq_type int Valor que indica quando o trabalho deve ser executado:

1 = Uma vez
4 = Diário
8 = Semanal
16 = Mensal
32 = Mensalmente, em relação ao freq_interval
64 = Executar quando o serviço SQL Server Agent iniciar.
freq_interval int Dias em que o trabalho é executado. O valor depende do valor de freq_type. Para mais informações, consulte sp_add_schedule
freq_subday_type int Unidades para freq_subday_interval. Para mais informações, consulte sp_add_schedule
freq_subday_interval int Número de freq_subday_type períodos a ocorrer entre cada execução do trabalho. Para mais informações, consulte sp_add_schedule
freq_relative_interval int Ocorrência do emprego agendado em freq_interval cada mês. Para mais informações, consulte sp_add_schedule
freq_recurrence_factor int Número de meses entre a execução prevista do trabalho.
active_start_date int Data para iniciar a execução do trabalho.
active_end_date int Data até ao fim da execução do trabalho.
active_start_time int Hora de começar 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 o calendário é criado.
schedule_description Nvarchar(4000) Uma descrição em inglês do horário (se solicitado).
next_run_date int A próxima data do calendário faz com que o trabalho corra.
next_run_time int O momento do cronograma faz com que o trabalho funcione.
schedule_uid uniqueidentifier Identificador para o horário.
job_count int Devolve o número de empregos que fazem referência a este calendário.

Este é o conjunto de resultados para servidores alvo de trabalhos.

Nome da coluna Tipo de dados Description
server_id int Identificador do servidor alvo.
server_name nvarchar(30) Nome do computador do servidor alvo.
enlist_date datetime Data a data do servidor alvo que se inscreveu no servidor mestre.
last_poll_date datetime A data em que o servidor alvo fez a última consulta ao servidor mestre.
last_run_date int Data a última execução da tarefa iniciada neste servidor alvo.
last_run_time int Hora em que a tarefa iniciou a execução pela última vez neste servidor alvo.
last_run_duration int Duração do trabalho da última vez que correu neste servidor alvo.
last_run_outcome tinyint Resultado do trabalho da última vez que correu neste servidor:

0 = Falhou
1 = Sucedeu
3 = Cancelado
5 = Desconhecido
last_outcome_message nvarchar(1024) Mensagem de resultado do trabalho da última vez que foi executado neste servidor alvo.

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 do SQLAgentUserRole só podem visualizar trabalhos que possuem. Os membros do sysadmin, SQLAgentReaderRole e SQLAgentOperatorRole podem visualizar todos os trabalhos locais e multiservidor.

Examples

A. Informação da lista para todos os empregos

O exemplo seguinte executa o sp_help_job procedimento sem parâmetros para devolver a informação de todos os trabalhos atualmente definidos na msdb base de dados.

USE msdb;
GO

EXECUTE dbo.sp_help_job;
GO

B. Lista de informações para empregos que correspondam a critérios específicos

O exemplo seguinte lista informações de trabalho para os trabalhos multiservidor pertencentes françoisa onde o trabalho está ativado e em execução.

USE msdb;
GO

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

C. Liste todos os aspetos da informação para um emprego

O exemplo seguinte lista todos os aspetos da informação para o trabalho NightlyBackups.

USE msdb;
GO

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