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


sys.dm_exec_background_job_queue_stats (Transact-SQL)

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

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

Примечание.

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

Имя столбца Тип данных Description
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, Analytics Platform System (PDW)

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

Замечания

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

Разрешения

На SQL Server и управляемом экземпляре SQL необходимо разрешение VIEW SERVER STATE.

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

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

Требуется разрешение VIEW SERVER PERFORMANCE 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  

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  

См. также

Динамические административные представления и функции (Transact-SQL)
Связанные с выполнением динамические административные представления и функции (Transact-SQL)