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 innerhalb des Servers eindeutig. index_handle ist der Schlüssel dieser Tabelle.

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.

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 persistent. 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 einem auf der index_handle-Spalte basierenden Gleichheitsjoin mit sys.dm_db_missing_index_details verknüpfen.

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.

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.

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.

Siehe auch

Verweis

sys.dm_db_missing_index_columns (Transact-SQL)

sys.dm_db_missing_index_groups (Transact-SQL)

sys.dm_db_missing_index_group_stats (Transact-SQL)