2

这适用于 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

两个问题导致此查询不返回任何内容

  1. 对于连接在一起的 sr 和 ner 行,ner.sql_handle 为 null 或 0x000...0 并且它不能连接到 neqs。

  2. 对于连接在一起的 ner 和 neq 行,ner.session_id 在 sr 中没有匹配的 spid。

**如果我的两个问题有正当理由,是否有另一种方法可以将 sys.dm_pdw_exec_requests 加入到 sys.dm_pdw_nodes_exec_query_stats?

有没有办法可以修复 DMV 中的 Null/无效值?

4

0 回答 0