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 权限的任何权限。

SQL Server 2022 及更高版本的权限

要求对服务器具有 VIEW SERVER PERFORMANCE STATE 权限。

后续步骤

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