sp_help_job (Transact-SQL)
Aplica-se: 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 = Nunca1 = Quando um trabalho é bem-sucedido2 = Quando o trabalho falha3 = 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 = Falha1 = Bem sucedido3 = Cancelado5 = 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 = Executando2 = Aguardando Thread3 = Entre Tentativas4 = Ocioso5 = Suspenso6 = Obsoleto7 = 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 = Falha1 = Bem sucedido3 = Cancelado5 = 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 vez4 = Diário8 = Semanais16 = Mensal32 = 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 = Falha1 = Bem sucedido3 = Cancelado5 = Desconhecido |
last_outcome_message |
nvarchar(1024) | Mensagem de resultado do trabalho na última vez em que foi executado neste servidor de destino. |
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 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