sys.dm_exec_external_work (Transact-SQL)

适用于: SQL Server 2016 (13.x) 及更高版本

返回每个计算节点上每个辅助角色的工作负荷的相关信息。

用于标识与外部数据源(例如 Hadoop 或 MongoDB)通信的工作的查询 sys.dm_exec_external_work

列名称 数据类型 说明 范围
execution_id nvarchar(32) 关联的 PolyBase 查询的唯一标识符。 请参阅 sys.dm_exec_requests (Transact-SQL)中的request_ID
step_index int 此辅助角色正在执行的请求。 请参阅 sys.dm_exec_requests (Transact-SQL)中的step_index
dms_step_index int 执行此辅助角色的 DMS 计划中的步骤。 请参阅sys.dm_exec_dms_workers(Transact-SQL)。
compute_node_id int 工作器正在运行的节点。 请参阅sys.dm_exec_compute_nodes(Transact-SQL)。
type nvarchar(60) 外部工作的类型。 “文件拆分”(适用于 Hadoop 和 Azure 存储)

“ODBC 数据拆分”(适用于其他外部数据源)
work_id int 实际拆分的 ID。 大于或等于 0。
input_name nvarchar(4000) 要读取的输入的名称 使用 Hadoop 或 Azure 存储时的文件名(路径)。 对于其他外部数据源,它是外部数据源位置和外部表位置的串联: scheme://DataSourceHostname[:port]/[DatabaseName.][SchemaName.]TableName
read_location bigint 读取位置的偏移量。 0 到文件中的字节数减去 1。

NULL 用于非 Hadoop 或非 Azure 存储。
read_command nvarchar(4000) 发送到外部数据源的查询。 SQL Server 2019(15.x)中引入。 表示查询的文本。 对于 Hadoop 和 Azure 存储,返回 NULL
bytes_processed bigint 为此工作器处理数据分配的总字节数。 此值不一定表示查询返回的总数据 大于或等于 0。
length bigint Hadoop 的拆分或 HDFS 块的长度 用户可定义。 默认值为 64M
status nvarchar(32) 辅助角色的状态 挂起、处理、完成、失败、中止
start_time datetime 工作开始
end_time datetime 工作结束
total_elapsed_time int 总时间(以毫秒为单位)
compute_pool_id int 运行辅助角色的池的唯一标识符。 仅适用于 SQL Server 大数据群集。 请参阅sys.dm_exec_compute_pools(Transact-SQL)。 返回 0 Windows 和 Linux 上的 SQL Server。

注解

从 SQL Server 2019 (15.x)开始,可用于 sys.dm_exec_external_work 查看传递到 PolyBase 下推计算中的外部数据源的远程查询。 有关详细信息,请参阅如何判断是否发生了外部下推

另请参阅

排查 PolyBase 的动态管理视图问题
动态管理视图和函数 (Transact-SQL)
与数据库有关的动态管理视图 (Transact-SQL)