这适用于 Azure Synapse Analytics,即 Azure SQL 数据仓库
我的目标是将 sys.dm_pdw_exec_requests 加入 sys.dm_pdw_nodes_exec_query_stats。
DMV sys.dm_pdw_nodes_exec_query_stats 提供了有关每个计算节点的查询执行的详细信息。我想将此表中的条目加入到 sys.dm_pdw_exec_requests 中的执行请求中。DMV sys.dm_pdw_nodes_exec_requests 可以将这些 DMV 与其 sql_handle、session_id 和 pdw_node_id 列连接起来。
我的查询是
select *
from sys.dm_pdw_exec_requests er
inner join sys.dm_pdw_sql_requests sr
on er.request_id = sr.request_id
inner join sys.dm_pdw_nodes_exec_requests ner
on sr.spid = ner.session_id
and ner.pdw_node_id = sr.pdw_node_id
inner join sys.dm_pdw_nodes_exec_query_stats neqs
on neqs.sql_handle = ner.sql_handle
它基于:https ://www.sqlservercentral.com/blogs/parallel-data-warehouse-pdw-tip-useful-appliance-queries
两个问题导致此查询不返回任何内容
对于连接在一起的 sr 和 ner 行,ner.sql_handle 为 null 或 0x000...0 并且它不能连接到 neqs。
对于连接在一起的 ner 和 neq 行,ner.session_id 在 sr 中没有匹配的 spid。
**如果我的两个问题有正当理由,是否有另一种方法可以将 sys.dm_pdw_exec_requests 加入到 sys.dm_pdw_nodes_exec_query_stats?
有没有办法可以修复 DMV 中的 Null/无效值?