sys.dm_exec_background_job_queue_stats (Transact-SQL)

Применимо к:SQL ServerБаза данных SQL AzureУправляемый экземпляр SQL AzureAzure Synapse AnalyticsAnalytics Platform System (PDW)База данных SQL в Microsoft Fabric

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

Note

Чтобы вызвать это из Azure Synapse Analytics или Analytics Platform System (PDW), используйте имя sys.dm_pdw_nodes_exec_background_job_queue_stats. Этот синтаксис не поддерживается бессерверным пулом SQL в Azure Synapse Analytics.

Название столбца Тип данных Описание
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 Время с момента начала выполнения самого длинного запроса (в миллисекундах).
pdw_node_id int применимо к: Azure Synapse Analytics, система платформы аналитики (PDW)

Идентификатор узла, на который находится это распределение.

Замечания

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

Permissions

Для SQL Server и Управляемого экземпляра SQL требуется разрешение VIEW SERVER STATE.

В базе данных SQL базовые, S0и S1 целей службы, а также для баз данных в эластичных пулах, требуется учетная запись администратора сервера сервера, учетная запись администратора Microsoft Entra или членство в роли сервера ##MS_ServerStateReader##. Для всех остальных целей службы базы данных SQL требуется разрешение VIEW DATABASE STATE на базу данных или членство в роли сервера ##MS_ServerStateReader##.

Разрешения для SQL Server 2022 и более поздних версий

Требуется VIEW разрешение на состояние производительности сервера на сервере.

Examples

А. Определение процента неудачно завершенных фоновых заданий

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

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  

B. Определение процента неудачно завершенных попыток постановки в очередь

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

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