sys.dm_db_missing_index_groups (Transact-SQL)

适用于:SQL Server (所有受支持的版本) Azure SQL数据库Azure SQL 托管实例

此 DMV 返回有关特定索引组中缺少的索引的信息。

在Azure SQL数据库中,动态管理视图无法公开影响数据库包含或公开用户有权访问的其他数据库的信息。 为了避免公开此信息,将筛选出包含不属于已连接租户的数据的每一行。

列名称 数据类型 说明
index_group_handle int 标识缺失索引组。
index_handle int 标识属于由 index_group_handle 指定的组的缺失索引。

一个索引组仅包含一个索引。

备注

查询优化器优化查询时返回 sys.dm_db_missing_index_groups 的信息会更新,并且不会持久保存。 仅当数据库引擎重启之前,才会保留缺少索引信息。 如果数据库管理员希望在服务器回收后保留缺失的索引信息,则定期创建缺失索引信息的备份副本可能很有用。 使用 sys.dm_os_sys_info 中的 sqlserver_start_time 列查找上次数据库引擎启动时间。

输出结果集中的任一列都不是一个键,但是它们结合在一起将形成一个索引键。

注意

此 DMV 的结果集限制为 600 行。 每一行都包含一个缺失的索引。 如果缺少 600 多个索引,则应解决现有的缺失索引,以便查看较新的索引。

权限

若要查询此动态管理视图,必须授予用户 VIEW SERVER STATE 权限或隐含 VIEW SERVER STATE 权限的任何权限。

后续步骤

在以下文章中详细了解缺少索引功能: