Sql server 2008 r2 SQL Server 2008 R2上缺少索引统计信息
我已经安装了SQLServer2008R2(其中一个),它的系统相当繁忙。我正试图像过去一样,通过使用来自的信息来优化一些索引 奇怪的是,Sql server 2008 r2 SQL Server 2008 R2上缺少索引统计信息,sql-server-2008-r2,Sql Server 2008 R2,我已经安装了SQLServer2008R2(其中一个),它的系统相当繁忙。我正试图像过去一样,通过使用来自的信息来优化一些索引 奇怪的是,sys.dm\u db\u missing\u index\u group\u stats表是空的 现在我一点也不相信该服务器上的数据库中没有一个漏掉节拍,其他表,如sys.dm\u db\u missing\u index\u group\u stats,sys.dm\u db\u missing\u index\u group\u stats等,包含大量记
sys.dm\u db\u missing\u index\u group\u stats
表是空的
现在我一点也不相信该服务器上的数据库中没有一个漏掉节拍,其他表,如sys.dm\u db\u missing\u index\u group\u stats
,sys.dm\u db\u missing\u index\u group\u stats
等,包含大量记录
刚才我看到1(一)条记录短暂地出现在那张表中,从那以后就消失了
我想知道该服务器是否出了严重问题,或者我是否遗漏了一个看似是SQL 2008 R2中的一个小错误。 在谷歌上搜索“sys.dm_db_missing_index_group_stats empty”(关于Mike West) 我会尽力解释发生了什么 SQL Server的缺失索引功能中使用了4个DMO(动态管理对象)。
缺少的索引详细信息保留在这些DMO中,直到清除为止。 当您实际创建缺少的索引(或重新启动服务器)时,将触发清除 但是,这些DMO中可以容纳的行数限制为600行 这与sys.dm_db_missing_index_group_stats DMO只为执行的查询收集数据这一事实相结合,而另外三个为编译的查询和执行的查询收集数据引入了这个“bug” 解决方法建议查询sys.dm_db_missing_index_details dmv,并使用“STATISTICS_ONLY=-1”创建所有建议的索引,然后删除。 这将重新启动索引建议收集
更多解释和解决方法。DBCC TRACESTATUS(-1)的作用是什么代码>显示?实例是否有可能是使用“-x”标志启动的?根据(底部)的说法,如果这是问题所在,那么这是关闭它的唯一方法。@AaronBertrand DBCC TRACESTATUS(-1);显示bupkis@srutzky我仔细检查了一下,以确保我没有发疯。No-x标志。另外,如果有标志,则不会收集任何数据,但正如我所提到的,所有其他表似乎都在收集统计数据,只有这一个表是空的。从:到外部资源的链接是鼓励的,但请在链接周围添加上下文,以便您的其他用户了解它是什么以及为什么存在。始终引用重要链接中最相关的部分,以防无法访问目标站点或永久脱机。