嗨,我正在使用 SQL Server,我想知道 DMV 是否被刷新以及何时刷新?
问问题
1267 次
1 回答
3
您是否尝试重置 DMV 中的计数器?因为您正在做的是清除该 DB 中的计划缓存。这对于做你所说的你想做的事情并没有真正的帮助。
现在,如果您真的要尝试重置 DMV 性能计数器,您将需要使用DBCC SQLPERF('sys.dmv_name_here',CLEAR);
. 我想你可以验证它是否有效的方法是在运行之前和之后查询 DMV,SQLPERF
并注意到计数器实际上下降了。
--
编辑
--
经过反思,您可能会在刷新计划缓存时尝试将计划缓存统计信息归零。当您刷新计划时,我假设计划句柄将被删除或变得无用。我必须参加变更控制会议,所以我还不能测试这个理论,但我回来后会的。无论如何,如果您想在刷新您想要运行的计划缓存后清除计划缓存的统计信息
DBCC SQLPERF('sys.dm_exec_cached_plans', CLEAR);
在您正在刷新的数据库中。
于 2013-03-07T15:48:27.890 回答