sys.dm_exec_background_job_queue_stats (Transact-SQL)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics Platform System (PDW)

对于每个为异步(后台)执行而提交的查询处理器作业,相应地返回一行,以提供聚合统计信息。

注意

若要从 Azure Synapse Analytics 或 Analytics 平台系统(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 数据库基本、S0S1 服务目标以及弹性池中的数据库、服务器管理员帐户、Microsoft Entra 管理员帐户或服务器角色的成员##MS_ServerStateReader##身份是必需的。 对于所有其他 SQL 数据库服务目标,需要数据库的 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)