Compartilhar via


sys.dm_exec_background_job_queue (Transact-SQL)

Retorna uma linha para cada trabalho de processador agendada para execução assíncrona (em segundo plano).

Nome da coluna

Tipo de dados

Descrição

time_queued

datetime

Hora em que a tarefa foi adicionada à fila.

job_id

int

Job identifier.

database_id

int

Banco de dados no qual a tarefa será executada.

object_id1

int

O valor depende do tipo de trabalho. Para obter mais informações, consulte a seção Comentários.

object_id2

int

O valor depende do tipo de trabalho. Para obter mais informações, consulte a seção Comentários.

object_id3

int

O valor depende do tipo de trabalho. Para obter mais informações, consulte a seção Comentários.

object_id4

int

O valor depende do tipo de trabalho. Para obter mais informações, consulte a seção Comentários.

error_code

int

Código de erro se o trabalho for reinserido devido à falha. NULL se suspenso, não coletado ou concluído.

request_type

smallint

Tipo de solicitação de trabalho.

retry_count

smallint

Número de vezes que o trabalho foi coletado da fila e reinserido devido à falta de recursos ou outros motivos.

in_progress

smallint

Indica se o trabalho iniciou a execução.

1 = Iniciado

0 = Ainda esperando

session_id

smallint

Identificador de sessão.

Permissões

Exige permissão VIEW SERVER STATE no servidor.

Comentários

Esta exibição só retorna informações para trabalhos de estatísticas de atualizações assíncronas. Para obter mais informações sobre estatísticas de atualizações assíncronas, consulte Usando estatísticas para melhorar o desempenho de consultas.

Os valores de object_id1 a object_id4 dependem do tipo da solicitação de trabalho. A tabela a seguir resume o significado dessas colunas para os diferentes tipos de trabalho.

Tipo de solicitação

object_id1

object_id2

object_id3

object_id4

Estatísticas de atualização assíncrona

Tabela ou ID de exibição

ID de estatísticas

Não usado

Não usado

Exemplos

O exemplo a seguir retorna o número de trabalhos assíncronos ativos na fila em segundo plano para cada banco de dados na instância de SQL Server.

SELECT DB_NAME(database_id) AS [Database], COUNT(*) AS [Active Async Jobs]
FROM sys.dm_exec_background_job_queue
WHERE in_progress = 1
GROUP BY database_id;
GO