sys.dm_exec_external_work(Transact-SQL)

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

返回每个计算节点每个工作者工作负载的信息。

查询 sys.dm_exec_external_work 以识别启动的工作,以便与外部数据源(例如Hadoop或MongoDB)通信。

列名 数据类型 说明 范围
execution_id nvarchar(32) 关联PolyBase查询的唯一标识符。 详见 request_ID sys.dm_exec_requests( Transact-SQL)
step_index int 这个工作人员正在执行的请求。 详见 step_index sys.dm_exec_requests( Transact-SQL)
dms_step_index int 请加入这位工作人员正在执行的DMS计划。 参见 sys.dm_exec_dms_workers(Transact-SQL)
compute_node_id int 工作者运行的节点。 参见 sys.dm_exec_compute_nodes(Transact-SQL)
类型 nvarchar(60) 外部工作的类型。 “文件拆分”(针对 Hadoop 和 Azure 存储)

“ODBC数据分流”(针对其他外部数据源)
work_id int 实际分手的身份证。 大于或等于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 分段长度,或 HDFS 块,用于 Hadoop 用户可定义。 默认是64M
状态 nvarchar(32) 工人身份 待处理,处理中,完成,失败,中止
开始时间 datetime 工作开始
结束时间 (end_time) datetime 作品结束
total_elapsed_time int 总时间以毫秒计
compute_pool_id int 工作者运行的池的唯一标识符。 仅适用于SQL Server大数据集群。 参见 sys.dm_exec_compute_pools(Transact-SQL) Windows 和 Linux 上的 SQL Server 返回0

注解

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

另见

使用动态管理视图进行 PolyBase 故障排查
动态管理视图和函数 (Transact-SQL)
与数据库有关的动态管理视图 (Transact-SQL)