sys.dm_exec_distributed_requests (Transact-SQL)
适用于: SQL Server 2016 (13.x) 及更高版本
保存有关 PolyBase 查询中当前或最近处于活动状态的所有请求的信息。 它为每个请求/查询列出一行。
然后,根据会话和请求 ID,用户可以通过sys.dm_exec_distributed_requests检索要执行的实际分布式请求。 例如,涉及常规 SQL 和外部 SQL 表的查询将分解为跨各种计算节点执行的各种语句/请求。 为了跟踪所有计算节点的分布式步骤,我们引入了一个“全局”执行 ID,可用于跟踪与一个特定请求和运算符关联的计算节点上的所有操作。
列名称 | 数据类型 | 说明 | 范围 |
---|---|---|---|
sql_handle | varbinary(64) | 此视图的键。 与请求关联的唯一数值 ID。 | 在系统中的所有请求中唯一。 |
execution_id | nvarchar(32 | 与运行此查询的会话关联的唯一数值 ID。 | |
status | nvarchar(32 | 请求的当前状态。 | “Pending”、“Authorizing”、“AcquireSystemResources”、“Initializing”、“Plan”、“Parsing”、“AcquireResources”、“Running”、“Cancelling”、“Complete”、“Failed”、“Cancelled”。 |
error_id | nvarchar(36) | 与请求关联的错误的唯一 ID(如果有)。 | 如果未发生错误,则设置为 NULL。 |
start_time | datetime | 启动请求执行的时间。 | 对于排队的请求,为 0;否则,有效日期/时间小于或等于当前时间。 |
end_time | datetime | 引擎完成编译请求的时间。 | 排队或活动请求的 NULL;否则,有效的日期/时间小于或等于当前时间。 |
total_elapsed_time | int | 自请求启动以来的执行时间(以毫秒为单位)。 | 介于 0 与start_time和end_time之间的差异之间。如果total_elapsed_time超过整数的最大值,total_elapsed_time将继续为最大值。 此条件将生成警告“已超出最大值”。最大值(以毫秒为单位)等效于 24.8 天。 |
另请参阅
排查 PolyBase 的动态管理视图问题
动态管理视图和函数 (Transact-SQL)
与数据库有关的动态管理视图 (Transact-SQL)