这是值得的窃听我虽然从来没有引起任何真正的问题,我可以大致找到其他方式提供这些信息,但有人可以解释为什么NULL
可以在返回dbid
,objectid
以及number
从列sys.dm_exec_sql_text
在DMV,但收效text
列?我理解为什么输出会反向返回(例如所有列但text
会产生数据),但我已经在多个 SQL Server 版本中多次看到这种行为,并且文档似乎并不暗示这应该是可能的,或者我只是读错了。
这是我正在运行的查询示例:
SELECT TOP 100
t.*
, s.*
, c.*
FROM sys.dm_exec_query_stats s
LEFT JOIN sys.dm_exec_connections c
ON c.most_recent_sql_handle = s.sql_handle
CROSS APPLY sys.dm_exec_sql_text(s.sql_handle) t
WHERE s.execution_count > 1 AND DATEDIFF (second, creation_time, GETDATE()) > 0
AND t.dbid IS NULL
Run Code Online (Sandbox Code Playgroud)
这是该text
列的其中一个结果的示例,这意味着这与临时对象无关,而这正是我通常猜测的原因。
select * from [dbo].[Map_ProviderSpecialty]
Run Code Online (Sandbox Code Playgroud)
这些列返回NULL
值的情况是什么?