适用于:SQL Server
Azure SQL 数据库
Azure SQL 托管实例
Azure Synapse Analytics
分析平台系统(PDW)
Microsoft Fabric中的SQL数据库
对于每个为异步(后台)执行而提交的查询处理器作业,相应地返回一行,以提供聚合统计信息。
注释
若要从 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) 此分发所打开的节点的标识符。 |
注解
该视图只返回有关异步更新统计作业的信息。 有关异步更新统计信息的详细信息,请参阅 统计信息。
Permissions
在 SQL Server 和 SQL 托管实例上,需要 VIEW SERVER STATE 权限。
在 SQL 数据库 基本、S0和 S1 服务目标上,对于 弹性池、服务器管理员 帐户、Microsoft entra 管理员 帐户或 ##MS_ServerStateReader##服务器角色 的成员身份。 在所有其他 SQL 数据库服务目标上,需要对数据库具有 VIEW DATABASE STATE 权限或 ##MS_ServerStateReader## 服务器角色的成员身份。
SQL Server 2022 及更高版本的权限
需要 VIEW 服务器上的 SERVER PERFORMANCE STATE 权限。
Examples
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