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 权限。
后续步骤
在以下文章中详细了解缺少的索引功能: