sys.dm_exec_background_job_queue_stats (Transact-SQL)
適用於: SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW)
傳回一個數據列,提供針對異步(背景)執行所提交之每個查詢處理器作業的匯總統計數據。
注意
若要從 Azure Synapse Analytics 或 Analytics Platform System (PDW) 呼叫此專案,請使用名稱 sys.dm_pdw_nodes_exec_background_job_queue_stats。 Azure Synapse Analytics 的無伺服器 SQL 集區不支援此語法。
資料行名稱 | 資料類型 | 描述 |
---|---|---|
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 Database [Basic]、[S0] 和 [S1] 服務目標,以及彈性集區中的資料庫,需要伺服器管理員帳戶、伺服器管理員帳戶、Microsoft Entra 管理員帳戶或 ##MS_ServerStateReader##
伺服器角色的成員資格。 在所有其他 SQL Database 服務目標上,需要資料庫的 VIEW DATABASE STATE
權限或 ##MS_ServerStateReader##
伺服器角色的成員資格。
SQL Server 2022 及更新版本的權限
需要伺服器上的 VIEW SERVER PERFORMANCE STATE 權限。
範例
A. 判斷失敗背景作業的百分比
下列範例會傳回所有已執行查詢的失敗背景作業百分比。
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