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.

Convenções de sintaxe de Transact-SQL

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 é uniqueidentifier, com um padrão de NULL.

Devem ser especificados @job_id ou @job_name , mas ambos não podem ser especificados.

@job_name [ = ] N'job_name'

O nome do trabalho. @job_name é sysname, com um padrão de NULL.

Devem ser especificados @job_id ou @job_name , mas ambos não podem ser especificados.

@session_id [ = ] session_id

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

Valores do código de retorno

0 (sucesso) ou 1 (falha).

Conjunto de resultados

Retorna 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 uniqueidentifier Identificador do trabalho.
job_name sysname Nome do trabalho.
run_requested_date datetime Momento em que foi solicitada a execução do trabalho.
run_requested_source sysname A origem da solicitação para executar o trabalho. Um destes:

1 = Executar em uma agenda
2 = Executar em resposta a um alerta
3 = Executar na inicialização
4 = Executado pelo usuário
6 = Executar na agenda ociosa da CPU
queued_date datetime Especifica quando a solicitação foi enfileirada. NULL se o trabalho foi executado diretamente.
start_execution_date datetime Data em que o trabalho foi atribuído a um thread executável.
last_executed_step_id int A ID de etapa da última etapa de trabalho executada.
last_exectued_step_date datetime A data em que começou a execução da última etapa de trabalho.
stop_execution_date datetime A data em que o trabalho parou de ser executado.
next_scheduled_run_date datetime Quando o trabalho for agendado para ser executado.
job_history_id int Identificador para o histórico de trabalho na tabela de histórico de trabalho.
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 = Sucedido
3 = Cancelado
5 = Status desconhecido
operator_id_emailed int Número de ID do operador notificado por email na conclusão do trabalho.
operator_id_netsent int Número de identificação do operador notificado via net send na conclusão do trabalho.
operator_id_paged int Número de ID do operador notificado por pager na conclusão do trabalho.

Comentários

Esse procedimento fornece um instantâneo do status atual dos trabalhos. Os resultados retornados representam as 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 Agent é iniciado. O ID da sessão é armazenado na tabela msdb.dbo.syssessions**.

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

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

Permissões

Esse procedimento armazenado pertence à função db_owner . Você pode conceder EXECUTE permissões para qualquer usuário, 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 msdb do 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.

Somente membros do sysadmin podem exibir a atividade de trabalhos pertencentes a outros usuários.

Exemplos

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

USE msdb;
GO

EXEC dbo.sp_help_jobactivity;
GO