您好我正在使用SQL Server,我想知道DMV是否刷新了什么时候?
答案 0 :(得分:3)
您是否尝试重置DMV中的计数器? Because what you're doing is you're clearing the plan cache in that DB。按照你说你想做的事情来说,这不会有什么帮助。
现在,如果您真的想要重置DMV性能计数器,那么您将需要使用DBCC SQLPERF('sys.dmv_name_here',CLEAR);
。我想你可以验证它运行的方式是在运行SQLPERF
之前和之后查询DMV,并注意到计数器实际上已经丢弃。
-
修改
-
经过反思,您可能会在刷新计划缓存时尝试将计划缓存统计信息归零。当您清空计划时,我假设计划句柄将被删除或将变得无用。我必须参加一个变更控制会议,所以我还不能测试这个理论,但是当我回来时我会。无论如何,如果你想要在刷新计划缓存后想要运行计划缓存的数据,那么你想要运行
DBCC SQLPERF('sys.dm_exec_cached_plans', CLEAR);
在您正在刷新的数据库中。