sys.dm_db_missing_index_details

Возвращает подробные сведения об отсутствующих индексах, за исключением пространственных индексов.

Имя столбца

Тип данных

Описание

index_handle

int

Идентифицирует специфический отсутствующий индекс. Этот идентификатор уникален для сервера. Столбец index_handle является ключевым для данной таблицы.

database_id

smallint

Идентифицирует базу данных, в которой находится таблица с отсутствующим индексом.

object_id

int

Идентифицирует таблицу, в которой отсутствует индекс.

equality_columns

nvarchar(4000)

Список столбцов с разделителями-запятыми, соответствующих предикатам равенства в форме:

table.column =constant_value

inequality_columns

nvarchar(4000)

Список столбцов с разделителями-запятыми, который соответствует предикатам неравенства, например предикатам в форме:

table.column > constant_value

Любой оператор сравнения, кроме «=», выражает неравенство. Полный список операторов сравнения см. в разделе Операторы сравнения (компонент Database Engine).

included_columns

nvarchar(4000)

Список столбцов с разделителями-запятыми, необходимых в качестве столбцов для запроса. Дополнительные сведения о включенных столбцах см. в разделе Создание индексов с включенными столбцами.

statement

nvarchar(4000)

Имя таблицы, в которой отсутствует индекс.

Замечания

Сведения, возвращенные представлением sys.dm_db_missing_index_details, будут обновленными, если запрос оптимизирован оптимизатором запросов и не является сохраненным. Сведения об отсутствующих индексах хранятся только до перезапуска SQL Server. Администраторы базы данных должны периодически делать резервные копии сведений об отсутствующих индексах, чтобы сохранить их после перезагрузки сервера.

Чтобы определить, какие специфические отсутствующие индексы является частью групп отсутствующих индексов, можно выполнить запрос к динамическому административному представлению sys.dm_db_missing_index_groups, объединив его по эквивалентности с представлением sys.dm_db_missing_index_details, основанным на столбце index_handle.

Дополнительные сведения о включении и отключении сбора данных об отсутствующих индексах см. в разделе О функции отсутствующих индексов.

Дополнительные сведения об ограничениях этой возможности см. в разделе Ограничения на использование функции отсутствующих индексов.

Использование сведений об отсутствующих индексах в инструкциях CREATE INDEX

Для преобразования сведений, возвращенных представлением sys.dm_db_missing_index_details инструкции CREATE INDEX, столбцы равенства должны быть помещены перед столбцами неравенства, а вместе они должны образовать индекс ключа. Включенные столбцы должны быть добавлены в инструкцию CREATE INDEX с помощью предложения INCLUDE. Чтобы определить эффективный порядок столбцов равенства, разместите столбцы согласно частоте их выборки: перечислите наиболее часто выбираемые столбцы вначале (крайнее левое положение в списке столбцов). Дополнительные сведения о написании инструкций CREATE INDEX с помощью сведений об отсутствующем индексе, возвращенных представлением sys.dm_db_missing_index_details см. в разделе Использование сведений об отсутствующих индексах для формирования инструкций CREATE INDEX.

Согласованность транзакций

Если транзакция создает или удаляет таблицу, то строки, содержащие сведения отсутствующих индексов об удаленных объектах, удаляются из данного объекта DMO, сохраняя согласованность транзакций. Дополнительные сведения о последовательности транзакций относительно отсутствующих индексов объектов DMO см. в разделе О функции отсутствующих индексов.

Разрешения

Пользователям необходимо предоставить разрешение VIEW SERVER STATE или любое разрешение, которое подразумевает разрешение VIEW SERVER STATE, чтобы выполнить запрос к данному динамическому административному представлению.