Mar*_*ark 3 sql-server sql-server-2005 sql-server-2008 dmv
我试图查看sys.dm_db_missing_index_details来检查我的SQL Server 2005数据库上是否缺少索引.它没有返回任何行.
它可能是空的但很不可能,因为我没有在任何表上添加任何索引(除了通过创建主键获得的索引).我也在运行单元测试以及adhoc开发测试(使用Linq to SQL),因此存在一些针对它的活动.
我是否需要打开此数据的捕获?
这仅在某些版本的SQL Server 2005上受支持吗?
提前感谢任何帮助的努力.
默认情况下它似乎是打开的 - 虽然检查您用于启动的任何快捷方式,并确保它没有启动 -x
来自http://msdn.microsoft.com/en-us/library/ms345524(v=SQL.90).aspx
只有在使用带有sqlservr命令提示实用程序的-x参数启动SQL Server实例时,才能禁用此功能.
此外,如果SQL Server使用查询优化器,您还需要知道在运行查询时填充表 - 重新启动SQL Server时会清除此表.
来自http://msdn.microsoft.com/en-us/library/ms345434(v=SQL.90).aspx
当查询优化器优化查询时,sys.dm_db_missing_index_details返回的信息会更新,并且不会保留.只有在重新启动SQL Server之前,才会保留缺少的索引信息.如果数据库管理员希望在服务器回收后保留它,则应定期制作缺失索引信息的备份副本.
最后有一篇文章介绍了您可能会或可能不知道的限制,但我会发布以防其他人发生在这篇文章和需求中:http://msdn.microsoft.com/en-us/库/ ms345485(v = SQL.90)的.aspx
我没有看到某些版本中缺少该功能的任何内容,但您需要某些权限:
必须授予用户VIEW SERVER STATE权限或任何暗示查询此动态管理视图的VIEW SERVER STATE权限的权限.
| 归档时间: |
|
| 查看次数: |
2038 次 |
| 最近记录: |