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


sys.dm_exec_background_job_queue_stats

Изменения: 12 декабря 2006 г.

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

Имя столбца Тип данных Описание

queue_max_len

int

Максимальная длина очереди.

enqueued_count

int

Количество запросов, успешно поставленных в очередь.

started_count

int

Количество запросов, начавших выполнение.

ended_count

int

Количество запросов, обслуженных до успешного или неудачного завершения.

failed_lock_count

int

Количество закончившихся ошибкой запросов из-за конфликта блокировки или из-за взаимоблокировки.

failed_other_count

int

Количество запросов, закончившихся ошибкой по другим причинам.

failed_giveup_count

int

Количество закончившихся ошибкой запросов из-за достижения предельного значения количества повторных попыток.

enqueue_failed_full_count

int

Количество неудачных попыток постановки в очередь из-за ее заполненности.

enqueue_failed_duplicate_count

int

Количество дублированных попыток постановки в очередь.

elapsed_avg_ms

int

Среднее время с момента начала выполнения запроса (в миллисекундах).

elapsed_max_ms

int

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

Замечания

В SQL Server 2005 это представление возвращает сведения только для заданий асинхронного обновления статистики. Дополнительные сведения об асинхронном обновлении статистики см. в разделе Статистика индексов.

Разрешения

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

Примеры

А. Определение процента фоновых заданий, завершившихся со сбоем

В следующем примере возвращается процент фоновых заданий, завершившихся со сбоем, для всех выполненных запросов.

SELECT 
        CASE ended_count WHEN 0 
                THEN 'No jobs ended' 
                ELSE CAST((failed_lock_count + failed_giveup_count + failed_other_count) / CAST(ended_count AS float) * 100 AS varchar(20)) 
        END AS [Percent Failed]
FROM sys.dm_exec_background_job_queue_stats;
GO

Б. Определение процента попыток постановки в очередь, завершившихся со сбоем

В следующем примере возвращается процент попыток постановки в очередь, завершившихся со сбоем, для всех выполненных запросов.

SELECT 
        CASE enqueued_count WHEN 0 
                THEN 'No jobs posted' 
                ELSE CAST((enqueue_failed_full_count + enqueue_failed_duplicate_count) / CAST(enqueued_count AS float) * 100 AS varchar(20)) 
        END AS [Percent Enqueue Failed]
FROM sys.dm_exec_background_job_queue_stats;
GO

См. также

Справочник

Динамические административные представления и функции
Динамические административные представления и соответствующие функции, связанные с выполнением
ALTER DATABASE (Transact-SQL)
sys.dm_exec_background_job_queue

Другие ресурсы

Статистика индексов

Справка и поддержка

Получение помощи по SQL Server 2005

Журнал изменений

Версия Журнал

12 декабря 2006 г.

Новое содержимое
  • Добавлены разделы «Примечания» и «Примеры».