sys.dm_exec_background_job_queue_stats (Transact-SQL)

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體Azure Synapse AnalyticsAnalytics 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 資料庫基本、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  

另請參閱

動態管理檢視和函數 (Transact-SQL)
執行相關的動態管理檢視和函數 (Transact-SQL)