Sql-Server-2008
查看 SQL 2008 sp_cursorexecute 底層查詢和執行計劃
我正在調整 Dynamics AX 應用程序的性能,並在 SQL 跟踪中看到表單的長時間執行的高 I/O 查詢
exec sp_cursorexecute 1073742882 ...
當我嘗試在新的 SQL Management Studio 視窗中執行該查詢時,我收到一個錯誤Could not find prepared statement with handle 1073742882.
我’我不確定,但似乎記憶體計劃是特定於連接的。我的踪跡裡沒有sp_cursorprepare
;重複案例會顯示帶有新游標的相同準備好的句柄 ID。由於它是我要連接的共享環境,我想我必須重置應用伺服器並跟踪它的啟動才能看到它。
- 有沒有辦法使用游標準備好的句柄 ID 來查看底層查詢?
- 有沒有辦法將一行
dm_exec_cached_plans
與這個游標關聯起來?- 有沒有辦法通過
dm_exec_query_plan
或其他方式查看執行計劃?
自 SQL2000 即 DMV 之前的日子以來,我不必跟踪游標活動。我認為舊方法仍然可行,使用分析器並在跟踪中包含執行計劃。
我不記得該計劃是否將包含在 sp_cursorexecute 呼叫中,或者您是否需要返回跟踪並找到與句柄關聯的 sp_cursorprepexec 或 sp_cursorprepare 事件。