sys.dm_db_missing_index_columns (Transact-SQL)

Returns information about database table columns that are missing an index, excluding spatial indexes.sys.dm_db_missing_index_columns is a dynamic management function.

sys.dm_db_missing_index_columns(index_handle)

Argumenty

Zwracana tabela

Nazwa kolumna

Typ danych

Description

column_id

int

Identyfikator kolumna.

nazwa_kolumny

sysname

Nazwa kolumna tabela.

column_usage

varchar(20)

Jak kolumna jest używana przez kwerendę.Możliwe wartości to:

WartośćDescription
RÓWNOŚCIKolumna przyczynia się do predykatu, który wyraża równości formularza: tabela.kolumna =constant_value
NIERÓWNOŚCIkolumna stanowi predykatu, który wyraża nierówności, na przykład predykat formularza: table.column > constant_valueDowolny operator porównania innych niż "=" wyraża nierówność.Aby uzyskać pełną listę operatorów porównania zobacz Operatory porównania (aparat bazy danych).
DOŁĄCZKolumna nie jest używane do analizowania predykatu, ale umożliwia innego powodu, na przykład obejmować kwerendy.

Remarks

Informacje zwrócone przez sys.dm_db_missing_index_columns jest aktualizowany, gdy kwerenda jest zoptymalizowane przez optymalizator kwerendy, a nie jest zachowywane.Brakujące informacje o indeksach są przechowywane tylko do SQL Server ponownego uruchomienia. Administratorzy bazy danych należy okresowo kopia zapasowa brakujące informacje o indeksach, jeśli chcą przechowywać je po odtwarzanie serwera.

Aby uzyskać informacje dotyczące włączania i wyłączania brakujące informacje o indeksach kolekcja, zobacz About the Missing Indexes Feature.

Dane wyjściowe z sys.dm_db_missing_index_columns funkcja dynamicznego zarządzania może być używany przez każdego narzędzie, które może odczytywać brakujące informacje indeksu, który odpowiada index_handle, przetwarzać informacje i konwertowania go na instrukcji CREATE INDEX DDL, które implementuje Brak indeksu.Aby uzyskać więcej informacji na temat tworzenia instrukcje DDL zobacz Using Missing Index Information to Write CREATE INDEX Statements.

Aby uzyskać więcej informacji na temat ograniczeń z tej funkcji zobacz Limitations of the Missing Indexes Feature.

Spójność transakcji

Jeśli transakcji powoduje utworzenie lub spadnie tabela, wiersze zawierające brakujące informacje o indeksach dotyczące elementów usuniętych obiektów zostaną usunięte z tego obiektu dynamicznego zarządzania, zachowania spójności transakcji.Aby uzyskać więcej informacji na temat zgodności transakcji w stosunku do brakujących obiektów dynamicznego zarządzania indeksami zobacz About the Missing Indexes Feature.

Uprawnienia

Użytkownicy, należy udzielić uprawnienia VIEW SERVER STATE lub wszystkie uprawnienia, które pociąga za sobą uprawnienie VIEW SERVER STATE, aby wykonać kwerendę dotyczącą tej funkcja dynamicznego zarządzania.

Przykłady

W poniższym przykładzie wykonuje kwerendę względem Address Tabela, a następnie uruchamia kwerendę za pomocą sys.dm_db_missing_index_columns dynamiczny widok zarządzania, aby przywrócić brakujące indeks kolumny w tabeli.

USE AdventureWorks;
GO
SELECT City, StateProvinceID, PostalCode
FROM Person.Address
WHERE StateProvinceID = 9;
GO
SELECT mig.*, statement AS table_name,
    column_id, column_name, column_usage
FROM sys.dm_db_missing_index_details AS mid
CROSS APPLY sys.dm_db_missing_index_columns (mid.index_handle)
INNER JOIN sys.dm_db_missing_index_groups AS mig ON mig.index_handle = mid.index_handle
ORDER BY mig.index_group_handle, mig.index_handle, column_id;
GO