Поделиться через


sys.dm_exec_background_job_queue

Возвращает строку для каждого задания обработчика запросов, запланированного для асинхронного (фонового) выполнения.

Имя столбца

Тип данных

Описание

time_queued

datetime

Время добавления задания в очередь.

job_id

int

Идентификатор задания.

database_id

int

База данных, в которой должно быть выполнено задание.

object_id1

int

Значение зависит от типа задания. Дополнительные сведения см. в разделе «Примечания».

object_id2

int

Значение зависит от типа задания. Дополнительные сведения см. в разделе «Примечания».

object_id3

int

Значение зависит от типа задания. Дополнительные сведения см. в разделе «Примечания».

object_id4

int

Значение зависит от типа задания. Дополнительные сведения см. в разделе «Примечания».

error_code

int

Код ошибки, если задание возвращается в очередь из-за сбоя. Это значение равно NULL, если задание приостановлено, не извлечено из очереди или завершено.

request_type

smallint

Тип запроса задания.

retry_count

smallint

Число возвратов задания в очередь из-за отсутствия ресурсов или по другим причинам.

in_progress

smallint

Показывает, начато ли выполнение задания:

1 = выполнение начато;

0 = задание пока еще ожидает.

session_id

smallint

Идентификатор сеанса.

Разрешения

Требуется разрешение VIEW SERVER STATE на сервер.

Замечания

Это представление возвращает сведения только для заданий асинхронного обновления статистики. Дополнительные сведения об асинхронном обновлении статистики см. в разделе Использование статистики для повышения производительности запросов.

Значения идентификаторов с object_id1 по object_id4 зависят от типа запроса задания. Значение этих столбцов при разных типах заданий указано в следующей таблице.

Тип запроса

object_id1

object_id2

object_id3

object_id4

Асинхронное обновление статистики

Идентификатор таблицы или представления

Идентификатор статистики

Не используется

Не используется

Примеры

В следующем примере возвращается целый ряд активных асинхронных заданий в фоновой очереди для каждой базы данных экземпляра 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