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)