Sql-Server-2008

查看 SQL 2008 sp_cursorexecute 底層查詢和執行計劃

  • August 25, 2011

我正在調整 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 事件。

引用自:https://dba.stackexchange.com/questions/5013