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)