Freigeben über


sys.dm_db_missing_index_columns

Aktualisiert: 12. Dezember 2006

Gibt Informationen zu Spalten von Datenbanktabellen zurück, für die kein Index vorhanden ist. Bei sys.dm_db_missing_index_columns handelt es sich um eine dynamische Verwaltungsfunktion.

Syntax

sys.dm_db_missing_index_columns(index_handle)

Argumente

Zurückgegebene Tabelle

Spaltenname

Datentyp

Beschreibung

column_id

int

ID der Spalte.

column_name

sysname

Name der Tabellenspalte.

column_usage

varchar(20)

Art der Verwendung der Spalte durch die Abfrage. Folgende Werte sind möglich:

Wert

Beschreibung

EQUALITYDie Spalte wird in ein Prädikat einbezogen, das Gleichheit ausdrückt und folgendes Format aufweist: table.column = constant_value

INEQUALITYDie Spalte wird in ein Prädikat einbezogen, das Ungleichheit ausdrückt, z. B. ein Prädikat in folgendem Format: table.column > constant_value Jeder Vergleichsoperator außer "=" drückt Ungleichheit aus. Die vollständige Liste der Vergleichsoperatoren finden Sie unter Vergleichsoperatoren (Datenbankmodul).

INCLUDEDie Spalte wird nicht zur Auswertung eines Prädikats, sondern aus einem anderen Grund verwendet, z. B. zum Abdecken einer Abfrage.

Hinweise

Von sys.dm_db_missing_index_columns zurückgegebene Informationen werden aktualisiert, wenn eine Abfrage vom Abfrageoptimierer optimiert wird. Sie werden nicht beibehalten. Informationen zu fehlenden Indizes werden nur bis zu einem Neustart von SQL Server gespeichert. Datenbankadministratoren sollten in regelmäßigen Abständen Sicherungskopien der Informationen zu fehlenden Indizes erstellen, wenn sie sie nach der Serverwiederverwendung aufbewahren möchten.

Weitere Informationen zum Aktivieren und Deaktivieren der Sammlung von Informationen zu fehlenden Indizes finden Sie unter Informationen zum Feature für fehlende Indizes.

Die Ausgabe der dynamischen Verwaltungsfunktion sys.dm_db_missing_index_columns kann von jedem Tool verwendet werden, das die einem index_handle-Wert entsprechenden Informationen zu fehlenden Indizes lesen, verarbeiten und in CREATE INDEX DDL-Anweisungen konvertieren kann, die den fehlenden Index implementieren. Weitere Informationen zum Erstellen von DDL-Anweisungen finden Sie unter Verwenden von fehlenden Indexinformationen zum Schreiben von CREATE INDEX-Anweisungen.

Weitere Informationen zu Einschränkungen dieses Features finden Sie unter Einschränkungen für die Verwendung des Features für fehlende Indizes.

Transaktionskonsistenz

Wenn eine Transaktion eine Tabelle erstellt oder löscht, werden die Zeilen, die Informationen zu fehlenden Indizes der gelöschten Objekte enthalten, aus diesem dynamischen Verwaltungsobjekt entfernt. Hierdurch bleibt die Transaktionskonsistenz erhalten. Weitere Informationen zur Transaktionskonsistenz in Bezug auf die dynamischen Verwaltungsobjekte für fehlende Indizes finden Sie unter Informationen zum Feature für fehlende Indizes.

Berechtigungen

Benutzern muss die VIEW SERVER STATE-Berechtigung oder eine Berechtigung, die die VIEW SERVER STATE-Berechtigung impliziert, erteilt werden, damit sie diese dynamische Verwaltungsfunktion abfragen können.

Beispiele

Im folgenden Beispiel wird eine Abfrage für die Address-Tabelle und anschließend eine Abfrage mithilfe der dynamischen Verwaltungssicht sys.dm_db_missing_index_columns ausgeführt, um die Tabellenspalten zurückzugeben, die keinen Index aufweisen.

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

Siehe auch

Verweis

sys.dm_db_missing_index_details
sys.dm_db_missing_index_groups
sys.dm_db_missing_index_group_stats

Andere Ressourcen

Informationen zum Feature für fehlende Indizes

Hilfe und Informationen

Informationsquellen für SQL Server 2005

Änderungsverlauf

Version Verlauf

12. Dezember 2006

Neuer Inhalt:
  • Der Abschnitt "Beispiele" wurde hinzugefügt.
Geänderter Inhalt:
  • Die Definition von column_id wurde korrigiert.