Partilhar via


sp_help_jobactivity (Transact-SQL)

Aplica-se a:SQL Server

Lista informações sobre o estado de tempo de execução dos trabalhos do SQL Server Agent.

Transact-SQL convenções de sintaxe

Sintaxe

sp_help_jobactivity
    [ [ @job_id = ] 'job_id' ]
    [ , [ @job_name = ] N'job_name' ]
    [ , [ @session_id = ] session_id ]
[ ; ]

Argumentos

@job_id [ = ] «job_id»

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

Tanto @job_id como @job_name devem ser especificados, mas ambos não podem ser especificados.

@job_name [ = ] N'job_name'

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

Tanto @job_id como @job_name devem ser especificados, mas ambos não podem ser especificados.

@session_id [ = ] session_id

O ID da sessão sobre o qual relatar informações. @session_id é int, com um padrão de NULL.

Valores de código de retorno

0 (sucesso) ou 1 (fracasso).

Conjunto de resultados

Devolve o seguinte conjunto de resultados:

Nome da coluna Tipo de dados Descrição
session_id Int Número de identificação da sessão do agente.
job_id identificador único Identificador do trabalho.
job_name sysname Nome do trabalho.
run_requested_date datetime Quando isso o trabalho foi solicitado para ser executado.
run_requested_source sysname A origem da solicitação para executar o trabalho. Um dos seguintes:

1 = Executar de acordo com um cronograma
2 = Executar em resposta a um alerta
3 = Executar na inicialização
4 = Executado pelo usuário
6 = Executar no agendamento ocioso da CPU
queued_date datetime Especifica quando a solicitação foi enfileirada. NULL se o trabalho foi executado diretamente.
start_execution_date datetime Quando o trabalho foi atribuído a um thread executável.
last_executed_step_id Int O ID da etapa da etapa de trabalho executada mais recentemente.
last_executed_step_date datetime O tempo em que a etapa de trabalho executada mais recentemente começou a ser executada.
stop_execution_date datetime A hora em que o trabalho parou de ser executado.
next_scheduled_run_date datetime Quando o trabalho estiver agendado para ser executado.
job_history_id Int Identificador do histórico de trabalhos na tabela de histórico de trabalhos.
message Nvarchar(1024) Mensagem produzida durante a última execução do trabalho.
run_status Int Status retornado da última execução do trabalho:

0 = Erro falhou
1 = Bem sucedido
3 = Cancelado
5 = Estado desconhecido
operator_id_emailed Int Número de identificação do operador notificado via e-mail na conclusão do trabalho.
operator_id_netsent Int Número de identificação do operador notificado via net send após a conclusão do trabalho.
operator_id_paged Int Número de identificação do operador notificado via pager na conclusão do trabalho.

Observações

Este procedimento fornece um instantâneo do estado atual dos trabalhos. Os resultados retornados representam informações no momento em que a solicitação é processada.

O SQL Server Agent cria uma ID de sessão sempre que o serviço do Agente é iniciado. O ID da sessão é armazenado na tabela msdb.dbo.syssessions.

Quando nenhuma @session_id é fornecida, lista as informações sobre a sessão mais recente.

Quando nenhum @job_name ou @job_id é fornecido, lista as informações de todos os trabalhos.

Permissões

Você pode conceder permissões de EXECUTE neste 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 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.

Somente os membros do sysadmin podem visualizar a atividade para trabalhos de propriedade de outros usuários.

Exemplos

O exemplo a seguir lista a atividade para todos os trabalhos que o usuário atual tem permissão para exibir.

USE msdb;
GO

EXECUTE dbo.sp_help_jobactivity;
GO