Tra*_*s P 5 sql-server-2008 execution-plan cursors
我性能调优Dynamics AX的应用程序,看到一个SQL跟踪长时间运行,高I / O查询的形式exec sp_cursorexecute 1073742882 ...
。当我尝试运行在一个新的SQL Management Studio中的窗口,查询,我得到一个错误Could not find prepared statement with handle 1073742882.
我”我不确定,但似乎缓存计划是特定于连接的。我无sp_cursorprepare
迹可寻;重复用例会显示相同的准备好的句柄 ID 和新游标。由于它是我要连接的共享环境,因此我想我必须重置应用服务器并跟踪其启动才能看到它。
dm_exec_cached_plans
与这个游标相关联?dm_exec_query_plan
或其他方式查看执行计划?自 SQL2000(即 DMV 之前的日子)以来,我就不必跟踪游标活动。我认为旧的方法仍然可行,使用探查器并在跟踪中包含执行计划。
我不记得该计划是否将包含在 sp_cursorexecute 调用中,或者您是否需要返回跟踪并找到与句柄关联的 sp_cursorprepexec 或 sp_cursorprepare 事件。