変な状況です。これ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が提供するクエリを使用すると、次のようになります。
EDIT2:
アクティビティモニターを使用して、これを確認できます。
これは最も負荷の高いクエリです(最初のクエリは意図的なものであり、私たちはそれについて知っています)。
繰り返しますが、なぜこれselect * from...
が理由なのかを知りたいのFETCH CURSOR
ですが...
EDIT3:
この " select * from
..."は別のサーバーから(経由でlinked server
)実行されています。
さて、@ kinが言ったことを理解するのに問題があります。
これはexecution plan
クエリの(データベースの同じサーバーで実行されている)です。
これは、リンクサーバー経由で他のサーバーで実行されている実行プランです。
OK、問題ありません。そしていま!**activity monitor**
(同じselect * from
)を介した実行計画: