sp_help_job (Transact-SQL)

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

Ícone de vínculo de tópicoConvenções de 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 NULL.

  • [ @job_name =] 'job_name'
    O nome do trabalho. job_name é sysname, com um padrão NULL.

    ObservaçãoObservação

    É necessário especificar a job_id ou o job_name, mas não é possível especificar ambos ao mesmo tempo.

  • [ @job_aspect =] 'job_aspect'
    O atributo do trabalho a ser exibido. job_aspect é varchar(9), com um padrão NULL, e pode ser um destes valores.

    Valor

    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 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 NULL.

  • [ @subsystem =] 'subsystem'
    O nome do subsistema. subsystem é nvarchar(40), com um padrão NULL.

  • [ @category_name =] 'category'
    O nome da categoria. category é sysname, com um padrão 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 NULL. 1 indica trabalhos habilitados e 0 indica trabalhos desabilitados.

  • [ @execution_status =] status
    O status de execução dos trabalhos. status é int, com um padrão NULL, e pode ser 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 a ser usado 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 NULL.

  • [ @date_last_modified =] date_modified
    A data em que o trabalho foi modificado pela última vez. date_modified é datetime, com um padrão NULL.

  • [ @description =] 'description_pattern'
    A descrição do trabalho. description_pattern é nvarchar(512), com um padrão 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

O ID exclusivo 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 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 ser 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 = 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.

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.

type

int

Tipo do trabalho.

1 = Trabalho local.

2 = Trabalho multiservidor.

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

Reservada.

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)

Reservada.

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 = 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 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 = Falha

1 = Obteve êxito

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

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 multiservidor.

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 para trabalhos que correspondam a critérios específicos

O exemplo a seguir lista informações dos trabalhos multiservidor 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