sys.dm_exec_background_job_queue (Transact-SQL)
适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics Platform System (PDW)
对计划异步(后台)执行的每个查询处理器作业返回一行。
注意
若要从 Azure Synapse Analytics 或 Analytics 平台系统(PDW)调用此名称,请使用名称 sys.dm_pdw_nodes_exec_background_job_queue
。 Azure Synapse Analytics 中的无服务器 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 | 会话标识符。 |
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 数据库服务目标,需要数据库的 VIEW DATABASE STATE
权限或 ##MS_ServerStateReader##
服务器角色中的成员身份。
SQL Server 2022 及更高版本的权限
要求对服务器具有 VIEW SERVER PERFORMANCE STATE 权限。
注解
该视图只返回有关异步更新统计作业的信息。 有关异步更新统计信息的详细信息,请参阅 统计信息。
通过object_id4 object_id1的值取决于作业请求的类型。 下表总结了这些列对于不同作业类型的含义。
请求类型 | object_id1 | object_id2 | object_id3 | object_id4 |
---|---|---|---|---|
异步更新统计信息 | 表或视图的 ID | 统计信息 ID | 未使用 | 未使用 |
示例
以下示例返回 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