sp_help_job (Transact-SQL)
Retorna informações sobre trabalhos usados pelo SQL Server Agent para executar atividades automatizadas no SQL Server.
Convenções da sintaxe Transact-SQL
Sintaxe
sp_help_job { [ @job_id = ] job_id
[ @job_name = ] 'job_name' }
[ , [ @job_aspect = ] 'job_aspect' ]
[ , [ @job_type = ] 'job_type' ]
[ , [ @owner_login_name = ] 'login_name' ]
[ , [ @subsystem = ] 'subsystem' ]
[ , [ @category_name = ] 'category' ]
[ , [ @enabled = ] enabled ]
[ , [ @execution_status = ] status ]
[ , [ @date_comparator = ] 'date_comparison' ]
[ , [ @date_created = ] date_created ]
[ , [ @date_last_modified = ] date_modified ]
[ , [ @description = ] 'description_pattern' ]
Argumentos
[ @job_id =] job_id
O número de identificação do trabalho. job_id é uniqueidentifier, com um padrão de NULL.[ @job_name =] 'job_name'
O nome do trabalho. job_name é sysname, com um padrão de NULL.Observação É necessário especificar job_id ou job_name, mas não é possível especificar ambos ao mesmo tempo.
[ @job_aspect =] 'job_aspect'
O atributo de trabalho a ser exibido. job_aspect é varchar(9), com um padrão de NULL, e pode ter um destes valores.Value
Descrição
ALL
Informações de aspecto do trabalho
JOB
Informações do trabalho
SCHEDULES
Informações da agenda
STEPS
Informações de etapa do trabalho
TARGETS
Informações de destino
[ @job_type =] 'job_type'
O tipo dos trabalhos a serem incluídos no relatório. job_type é varchar(12), com um padrão de NULL. job_type pode ser LOCAL ou MULTI-SERVER.[ @owner_login_name =] 'login_name'
O nome de logon do proprietário do trabalho. login_name é sysname, com um padrão de NULL.[ @subsystem =] 'subsystem'
O nome do subsistema. subsystem é nvarchar(40), com um padrão de NULL.[ @category_name =] 'category'
O nome da categoria. category é sysname, com um padrão de NULL.[ @enabled =] enabled
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 e 0 indica trabalhos desabilitados.[ @execution_status =] status
O status da execução dos trabalhos. status é int, com um padrão de NULL, e pode ter um destes valores.Valor
Descrição
0
Retorna somente 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_comparison'
O operador de comparação para uso em comparações de date_created e date_modified. date_comparison é 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_modified
A data em que o trabalho foi modificado pela última vez. date_modified é datetime, com um padrão de NULL.[ @description =] 'description_pattern'
A descrição do trabalho. description_pattern é nvarchar(512), com um padrão de NULL. description_pattern pode incluir os caracteres curinga do SQL Server para correspondência de padrões.
Valores de código de retorno
0 (êxito) ou 1 (falha)
Conjuntos de resultados
Se nenhum argumento for especificado, sp_help_job retornará este 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. |
nome |
sysname |
Nome do trabalho. |
habilitado |
tinyint |
Indica se o trabalho está habilitado para 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 |
Bitmask que indica sob quais circunstâncias um evento de notificação deve ser registrado no log de aplicativos do Microsoft Windows. pode ter um destes valores: 0 = Nunca 1 = Quando um trabalho obtém êxito 2 = Quando o trabalho falhar 3 = Sempre que o trabalho for concluído (independentemente do resultado) |
notify_level_email |
int |
Bitmask que indica sob quais circunstâncias um email de notificação deve ser enviado quando um trabalho é concluído. Os valores possíveis são os mesmos de notify_level_eventlog. |
notify_level_netsend |
int |
Bitmask que indica sob quais circunstâncias uma mensagem de rede deve ser enviada quando um trabalho é concluído. Os valores possíveis são os mesmos de notify_level_eventlog. |
notify_level_page |
int |
Bitmask que indica sob quais circunstâncias uma página deve ser enviada quando um trabalho é concluído. Os valores possíveis são os mesmos de 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 |
Bitmask que indica sob quais circunstâncias o trabalho deve ser excluído quando for concluído. Os valores possíveis são os mesmos de notify_level_eventlog. |
date_created |
datetime |
A 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 = Obteve êxito 3 = Cancelada 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. |
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 foi repetida, esta é 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. |
tipo |
int |
Tipo do trabalho. 1 = Trabalho local. 2 = Trabalho multisservidor. 0 = Trabalho não possui nenhum servidor de destino. |
Se job_id ou job_name for especificado, sp_help_job retornará estes conjuntos de resultados adicionais para etapas de trabalho, agendas 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) |
Bitmask de valores que controlam o comportamento da etapa. |
cmdexec_success_code |
int |
Para uma etapa CmdExec, este é o código de saída do processo de um comando com êxito. |
on_success_action |
nvarchar(4000) |
O que fazer se a etapa tiver êxito: 1 = Sair com êxito. 2 = Sair com falha. 3 = Ir para a próxima etapa. 4 = Ir para a etapa. |
on_success_step_id |
int |
Se on_success_action for 4, isto indicará 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 para on_success_action. |
on_fail_step_id |
int |
Se on_fail_action for 4, isto indicará a próxima etapa a ser executada. |
server |
sysname |
Reservado. |
database_name |
sysname |
Para uma etapa Transact-SQL, este é o banco de dados no qual o comando será executado. |
database_user_name |
sysname |
Para uma etapa Transact-SQL, este é o contexto de 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 for malsucedido) antes que a etapa seja considerada com falha. |
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 (apenas etapas Transact-SQL e CmdExec). |
last_run_outcome |
int |
Resultado da etapa na última vez em que foi executada: 0 = Falha 1 = Obteve êxito 3 = Cancelada 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). |
habilitado |
int |
Se a agenda está ativa (1) ou não (0). |
freq_type |
int |
Valor que indica quando o trabalho será executado: 1 = Uma vez 4 = Diariamente 8 = Semanalmente 16 = Mensalmente 32 = Mensalmente, relativo a freq_interval 64 = Executar quando o serviço SQLSERVERAGENT iniciar. |
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 (Transact-SQL) |
freq_subday_type |
Int |
Unidades para freq_subday_interval. Para obter mais informações, consulte sp_add_schedule (Transact-SQL) |
freq_subday_interval |
int |
Número de períodos de freq_subday_type que devem ocorrer entre cada execução do trabalho. Para obter mais informações, consulte sp_add_schedule (Transact-SQL) |
freq_relative_interval |
int |
A ocorrência do trabalho agendado do freq_interval em cada mês. Para obter mais informações, consulte sp_add_schedule (Transact-SQL) |
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 em que a execução do trabalho será iniciada em active_start_date. |
active_end_time |
int |
Hora em que a execução do trabalho será finalizada 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 |
Próxima data em que a agenda fará com que o trabalho seja executado. |
next_run_time |
int |
Próxima hora em que a agenda 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 = Falhou 1 = Obteve êxito 3 = Cancelada 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
Por padrão, os membros da função de servidor fixa sysadmin podem executar este procedimento armazenado. Deve ser concedida a outros usuários uma das seguintes funções de banco de dados fixas do SQL Server Agent no banco de dados msdb:
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 os trabalhos que possuem. Os membros de sysadmin, SQLAgentReaderRolee SQLAgentOperatorRole podem exibir todos os trabalhos locais e multisservidor.
Exemplos
A.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.Listando informações de trabalhos que correspondam 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.Listando todos os aspectos de 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