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.