我有一个奇怪的情况。使用sp_whoisactive
我可以看到:
好的,通过此查询,我可以看到触发了什么(此单词在英语中存在吗?):
SELECT c.session_id, c.properties, c.creation_time, c.is_open, t.text
FROM sys.dm_exec_cursors (SPID) c --0 for all cursors running
CROSS APPLY sys.dm_exec_sql_text (c.sql_handle) t
结果:
这很简单select
。为什么使用f etch_cursor
?
另外,我也看到很多“空白”的sql_texts。这个“光标”有什么用吗?
DBCC INPUTBUFFER (spid)
告诉我这个:
有这个问题 在这里(我做的),但我不知道这是否是同样的事情。
编辑1:
使用kin提供的查询,我看到以下内容:
编辑2:
使用活动监视器,可以看到以下内容:
这是最昂贵的查询(第一个查询是有意的,我们知道)。
再一次,我想知道,为什么这select * from...
是FETCH CURSOR
... 的原因
编辑3:
此“ select * from
...”正在从另一台服务器(通过linked server
)运行。
好吧,现在我在理解@kin所说的内容时遇到了问题。
这是execution plan
查询的查询(在数据库的同一服务器上运行):
现在,这是通过链接服务器在另一台服务器中运行的执行计划:
好的,这也不是问题。现在!通过**activity monitor**
(相同select * from
)执行计划: