Freigeben über


sys.dm_db_missing_index_details (Transact-SQL)

Gibt detaillierte Informationen zu fehlenden Indizes, außer räumlichen Indizes, zurück.

Spaltenname

Datentyp

Beschreibung

index_handle

int

Identifiziert einen bestimmten fehlenden Index. Der Bezeichner ist eindeutig innerhalb des Servers. index_handle stellt den Schlüssel dieser Tabelle dar.

database_id

smallint

Identifiziert die Datenbank, in der sich die Tabelle mit dem fehlenden Index befindet.

object_id

int

Identifiziert die Tabelle, in der der Index fehlt.

equality_columns

nvarchar(4000)

Durch Trennzeichen getrennte Liste von Spalten, die zu Gleichheitsprädikaten der folgenden Form beitragen:

table.column =constant_value

inequality_columns

nvarchar(4000)

Durch Trennzeichen getrennte Liste von Spalten, die zu Ungleichheitsprädikaten beispielsweise der folgenden Form beitragen:

table.column > constant_value

Jeder Vergleichsoperator außer "=" drückt Ungleichheit aus. Die vollständige Liste der Vergleichoperatoren finden Sie unter Vergleichsoperatoren (Datenbankmodul).

included_columns

nvarchar(4000)

Durch Trennzeichen getrennte Liste von Spalten, die zur Abdeckung der Abfrage benötigt werden. Weitere Informationen zu abdeckenden oder eingeschlossenen Spalten finden Sie unter Erstellen von Indizes mit eingeschlossenen Spalten.

statement

nvarchar(4000)

Der Name der Tabelle, in der der Index fehlt.

Hinweise

Die von sys.dm_db_missing_index_details zurückgegebenen Informationen werden aktualisiert, wenn eine Abfrage vom Abfrageoptimierer optimiert wird, und sind nicht permanent. Informationen zu fehlenden Indizes werden nur bis zum Neustart von SQL Server aufbewahrt. Datenbankadministratoren sollten regelmäßig Sicherungskopien der Informationen zu fehlenden Indizes erstellen, wenn sie sie nach dem Wiederverwenden des Servers beibehalten möchten.

Zum Bestimmen der Gruppen fehlender Indizes, denen ein bestimmter fehlender Index angehört, können Sie die dynamische Verwaltungssicht sys.dm_db_missing_index_groups abfragen, indem Sie sie in einer auf der index_handle-Spalte basierenden Gleichheitsverknüpfung mit sys.dm_db_missing_index_details verknüpfen.

Informationen zum Aktivieren und Deaktivieren der Auflistung mit Informationen zu fehlenden Indizes finden Sie unter Informationen zur Funktion für fehlende Indizes.

Informationen zu den Beschränkungen dieses Features finden Sie unter Einschränkungen der Funktion für fehlende Indizes.

Verwenden von Informationen zu fehlenden Indizes in CREATE INDEX-Anweisungen

Zum Konvertieren der von sys.dm_db_missing_index_details zurückgegebenen Informationen in eine CREATE INDEX-Anweisung sollten Gleichheitsspalten vor die Ungleichheitsspalten gesetzt werden, und diese sollten zusammen den Schlüssel des Indexes bilden. Eingeschlossene Spalten sollten der CREATE INDEX-Anweisung mithilfe der INCLUDE-Klausel hinzugefügt werden. Für eine effektive Reihenfolge der Gleichheitsspalten sortieren Sie sie nach ihrer Selektivität, wobei Sie die ausgewählten Spalten zuerst (am weitesten links in der Spaltenliste) aufführen. Weitere Informationen zum Schreiben von CREATE INDEX-Anweisungen mithilfe der von sys.dm_db_missing_index_details zurückgegebenen Informationen zu fehlenden Indizes finden Sie unter Verwenden von fehlenden Indexinformationen zum Schreiben von CREATE INDEX-Anweisungen.

Transaktionskonsistenz

Wenn durch eine Transaktion eine Tabelle erstellt oder gelöscht wird, werden die Zeilen mit Informationen zu fehlenden Indizes bezüglich der gelöschten Objekte aus diesem dynamischen Verwaltungsobjekt entfernt, damit die Transaktionskonsistenz erhalten bleibt. Weitere Informationen zur Transaktionskonsistenz in Bezug auf die dynamischen Verwaltungsobjekte für fehlende Indizes finden Sie unter Informationen zur Funktion für fehlende Indizes.

Berechtigungen

Zum Abfragen dieser dynamischen Verwaltungssicht müssen die Benutzer über die VIEW SERVER STATE-Berechtigung oder eine Berechtigung, die die VIEW SERVER STATE-Berechtigung impliziert, verfügen.