sys.dm_exec_background_job_queue (Transact-SQL)

針對每一個排程要非同步 (背景) 執行的查詢處理器作業,各傳回一個資料列。

資料行名稱

資料類型

描述

time_queued

datetime

將作業加入佇列的時間。

job_id

int

作業識別碼。

database_id

int

執行作業的資料庫。

object_id1

int

此值將視作業類型而定。如需詳細資訊,請參閱<備註>一節。

object_id2

int

此值將視作業類型而定。如需詳細資訊,請參閱<備註>一節。

object_id3

int

此值將視作業類型而定。如需詳細資訊,請參閱<備註>一節。

object_id4

int

此值將視作業類型而定。如需詳細資訊,請參閱<備註>一節。

error_code

int

因為失敗而重新插入作業的錯誤碼。如果是已暫停 (而不是已收取或已完成),則為 NULL。

request_type

smallint

作業要求的類型。

retry_count

smallint

從佇列挑選作業以及因為缺乏資源或其他原因而重新插入的次數。

in_progress

smallint

指出作業是否已經開始執行。

1 = 已啟動

0 = 仍在等候中

session_id

smallint

工作階段識別碼。

權限

需要伺服器的 VIEW SERVER STATE 權限。

備註

這個檢視只會傳回非同步更新統計資料作業的資訊。如需有關非同步更新統計資料的詳細資訊,請參閱<使用統計資料來改善查詢效能>。

object_id1object_id4 的值,將視作業要求的類型而定。下表將摘錄這些資料行在不同作業類型的意義。

要求類型

object_id1

object_id2

object_id3

object_id4

非同步更新統計資料

資料表或檢視識別碼

統計資料識別碼

未使用

未使用

範例

下列範例會傳回 SQL Server 執行個體中,每個資料庫背景佇列的作用中非同步作業數。

SELECT DB_NAME(database_id) AS [Database], COUNT(*) AS [Active Async Jobs]
FROM sys.dm_exec_background_job_queue
WHERE in_progress = 1
GROUP BY database_id;
GO