共用方式為


sys.dm_exec_background_job_queue_stats

更新: 2006 年 12 月 12 日

傳回提供每一個查詢處理器作業的彙總統計資料的資料列,這些作業已提交進行非同步 (背景) 執行。

資料行名稱 資料類型 描述

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

最長要求的經歷時間 (以毫秒為單位)。

備註

在 SQL Server 2005 中,這個檢視只會傳回非同步更新統計資料作業的資訊。如需有關非同步更新統計資料的詳細資訊,請參閱<索引統計資料>。

權限

需要伺服器的 VIEW SERVER 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 AS float) * 100 AS varchar(20)) 
        END AS [Percent Enqueue Failed]
FROM sys.dm_exec_background_job_queue_stats;
GO

請參閱

參考

動態管理檢視和函數
執行相關動態管理檢視和函數
ALTER DATABASE (Transact-SQL)
sys.dm_exec_background_job_queue

其他資源

索引統計資料

說明及資訊

取得 SQL Server 2005 協助

變更歷程記錄

版本 歷程記錄

2006 年 12 月 12 日

新增內容:
  • 新增<備註>和<範例>章節。