sys.dm_db_missing_index_columns (Transact-SQL)sys.dm_db_missing_index_columns (Transact-SQL)

Anwendungsbereich:Applies to: Ja SQL ServerSQL Server (alle unterstützten Versionen)yesSQL ServerSQL Server (all supported versions) JaAzure SQL-DatenbankAzure SQL DatabaseYesAzure SQL-DatenbankAzure SQL DatabaseAnwendungsbereich:Applies to: Ja SQL ServerSQL Server (alle unterstützten Versionen)yesSQL ServerSQL Server (all supported versions) JaAzure SQL-DatenbankAzure SQL DatabaseYesAzure SQL-DatenbankAzure SQL Database

Gibt Informationen zu Spalten von Datenbanktabellen zurück, für die kein Index vorhanden ist, mit Ausnahme von räumlichen Indizes.Returns information about database table columns that are missing an index, excluding spatial indexes. sys. dm_db_missing_index_columns ist eine dynamische Verwaltungsfunktion.sys.dm_db_missing_index_columns is a dynamic management function.

SyntaxSyntax

  
sys.dm_db_missing_index_columns(index_handle)  

ArgumenteArguments

index_handleindex_handle
Eine ganze Zahl, die einen fehlenden Index eindeutig identifiziert.An integer that uniquely identifies a missing index. Sie kann aus den folgenden dynamischen Verwaltungsobjekten abgerufen werden:It can be obtained from the following dynamic management objects:

sys. dm_db_missing_index_details (Transact-SQL-)sys.dm_db_missing_index_details (Transact-SQL)

sys. dm_db_missing_index_groups (Transact-SQL-)sys.dm_db_missing_index_groups (Transact-SQL)

Zurückgegebene TabelleTable Returned

SpaltennameColumn name DatentypData type BESCHREIBUNGDescription
column_idcolumn_id intint ID der Spalte.ID of the column.
column_namecolumn_name sysnamesysname Name der Tabellenspalte.Name of the table column.
column_usagecolumn_usage varchar (20)varchar(20) Art der Verwendung der Spalte durch die Abfrage.How the column is used by the query. Die möglichen Werte und deren Beschreibungen lauten:The possible values and their descriptions are:

Gleichheit: die Spalte trägt zu einem Prädikat bei, das die Gleichheit in der Form ausdrückt:EQUALITY: Column contributes to a predicate that expresses equality, of the form:
Table. Column = constant_valuetable.column = constant_value

Ungleichheit: die Spalte trägt zu einem Prädikat bei, das Ungleichheit ausdrückt, z. b. ein Prädikat der Form: Table. Column > constant_value.INEQUALITY: Column contributes to a predicate that expresses inequality, for example, a predicate of the form: table.column > constant_value. Jeder Vergleichsoperator außer "=" drückt Ungleichheit aus.Any comparison operator other than "=" expresses inequality.

INCLUDE: die Spalte wird nicht zur Auswertung eines Prädikats verwendet, sondern wird aus einem anderen Grund verwendet, z. b. zum Abdecken einer Abfrage.INCLUDE: Column is not used to evaluate a predicate, but is used for another reason, for example, to cover a query.

HinweiseRemarks

Von sys.dm_db_missing_index_columns zurückgegebene Informationen werden aktualisiert, wenn eine Abfrage vom Abfrageoptimierer optimiert wird. Sie werden nicht persistent gespeichert.Information returned by sys.dm_db_missing_index_columns is updated when a query is optimized by the query optimizer, and is not persisted. Informationen zu fehlenden Indizes werden nur bis zum Neustart von SQL ServerSQL Server aufbewahrt.Missing index information is kept only until SQL ServerSQL Server is restarted. Datenbankadministratoren sollten regelmäßig Sicherungskopien der Informationen zu fehlenden Indizes erstellen, wenn Sie sie nach dem Wiederverwenden des Servers beibehalten möchten.Database administrators should periodically make backup copies of the missing index information if they want to keep it after server recycling.

TransaktionskonsistenzTransaction Consistency

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.If a transaction creates or drops a table, the rows containing missing index information about the dropped objects are removed from this dynamic management object, preserving transaction consistency.

BerechtigungenPermissions

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.Users must be granted the VIEW SERVER STATE permission or any permission that implies the VIEW SERVER STATE permission to query this dynamic management function.

BeispieleExamples

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.The following example runs a query against the Address table and then runs a query using the sys.dm_db_missing_index_columns dynamic management view to return the table columns that are missing an index.

USE AdventureWorks2012;  
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  

Weitere InformationenSee Also

sys. dm_db_missing_index_details (Transact-SQL-) sys.dm_db_missing_index_details (Transact-SQL)
sys. dm_db_missing_index_groups (Transact-SQL-) sys.dm_db_missing_index_groups (Transact-SQL)
sys. dm_db_missing_index_group_stats (Transact-SQL-)sys.dm_db_missing_index_group_stats (Transact-SQL)