sys.dm_db_missing_index_groups(Transact-SQL)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Microsoft Fabric 中的 SQL 数据库

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

在 Azure SQL 数据库中,动态管理视图不能公开将影响数据库包含的信息,也不能公开有关用户可以访问的其他数据库的信息。 为了避免暴露此信息,包含不属于所连接租户的数据的每行都会被筛选出。

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

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

注解

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

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

Note

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

Permissions

要查询该动态管理视图,用户必须获得 VIEW SERVER STATE 权限或任何暗示 VIEW SERVER STATE 权限的权限。

SQL Server 2022 及更高版本的权限

需要 VIEW 服务器上的 SERVER PERFORMANCE STATE 权限。

后续步骤

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