[英]Where is the query plan from an SSRS report rendering
嗨,我有一个简单的问题。 但它引出了另一个问题。 我想删除stor proc i ran的查询计划。 所以我使用了proc
exec dbo.uspNameOfProc
然后使用查询检查计划chace
SELECT [text], cp.size_in_bytes, plan_handle
FROM sys.dm_exec_cached_plans AS cp CROSS APPLY
sys.dm_exec_sql_text(plan_handle)
where [text] like '%uspNameOfProc%'
我还缺少什么?
RUN exec dbo.uspNameOfProc
然后运行sp_who3找出它正在运行的spid。
Then run USE master;
GO
SELECT * FROM sys.dm_exec_requests
WHERE session_id = YourSPID;
GO
这将为您提供计划处理。 要查看执行计划的运行情况。
USE master;
GO
SELECT * FROM sys.dm_exec_query_plan (YourPlanHandleID);
GO
然后,如果您希望从缓存清除计划使用此。
DBCC FREEPROCCACHE (YourPlanHandleID);
GO
希望有所帮助。 UPDATE * * *确保在单独的查询窗口上执行这些操作,以便不改变执行计划。
获取计划句柄的一种稍微简单的方法(因为您正在使用存储过程)将来自sys.dm_exec_procedure_stats。 像(来自你的数据库):
select plan_handle
from sys.dm_exec_procedure_stats
where database_id = db_id()
and object_id = object_id('dbo.uspNameOfProc');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.