(0) exportieren Drucken
Alle erweitern

sys.dm_db_missing_index_details

Letzte Aktualisierung: April 2011

Dieses Thema ist VERALTET. Die neueste Version finden Sie in der SQL 14 Transact-SQL-Referenz.

ImportantWichtig
Dieses Thema wird nicht aktualisiert. Die aktuelle Version finden Sie unter sys.dm_db_missing_index_details.

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

In Microsoft Azure SQL-Datenbank sind dynamische Verwaltungssichten beispielsweise nicht in der Lage, Informationen verfügbar zu machen, die sich auf die Datenbankkapselung auswirken, oder die sich auf andere Datenbanken beziehen, auf die der Benutzer Zugriff hat. Um zu vermeiden, dass diese Informationen verfügbar gemacht werden, wird jede Zeile mit Daten, die nicht zum verbundenen Mandanten gehören, herausgefiltert.

 

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.

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 Create Indexes with Included Columns.

statement

nvarchar(4000)

Der Name der Tabelle, in der der Index fehlt.

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.

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. Ordnen Sie die Spalten für Gleichheit anhand ihrer Selektivität an, um eine sinnvolle Reihenfolge zu bestimmen. Listen Sie also die selektivsten Spalten zuerst auf (äußerst links in der Spaltenliste).

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.

Erfordert die VIEW DATABASE STATE-Berechtigung auf dem Server. Kann von der Masterdatenbank nicht abgefragt werden. Weitere Informationen finden Sie unter Dynamic Management Objects.

Anzeigen:
© 2014 Microsoft