sys.dm_db_index_usage_stats (Transact-SQL)sys.dm_db_index_usage_stats (Transact-SQL)

DIESES THEMA GILT FÜR: jaSQL Server (ab 2008)jaAzure SQL-DatenbankjaAzure SQL Data Warehouse jaParallel Data Warehouse THIS TOPIC APPLIES TO: yesSQL Server (starting with 2008)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

Gibt die Anzahl verschiedener Arten von Indexvorgängen und den Zeitpunkt zurück, wann die einzelnen Vorgänge in SQL ServerSQL Server zuletzt ausgeführt wurden.Returns counts of different types of index operations and the time each type of operation was last performed in SQL ServerSQL Server.

In Azure SQL-DatenbankAzure SQL Databasekönnen dynamische Verwaltungssichten keine Informationen verfügbar machen, die sich auf die Datenbankkapselung auswirken würden oder die sich auf andere Datenbanken beziehen, auf die der Benutzer Zugriff hat.In Azure SQL-DatenbankAzure SQL Database, dynamic management views cannot expose information that would impact database containment or expose information about other databases the user has access to. Um zu vermeiden, dass diese Informationen verfügbar gemacht werden, wird jede Zeile mit Daten, die zum verbundenen Mandanten gehören, herausgefiltert.To avoid exposing this information, every row that contains data that doesn’t belong to the connected tenant is filtered out.

Hinweis

Sys. dm_db_index_usage_stats gibt keine Informationen zu speicheroptimierten Indizes zurück.sys.dm_db_index_usage_stats does not return information about memory-optimized indexes. Informationen zur Verwendung von speicheroptimierten Indizes finden Sie unter dm_db_xtp_index_stats ( Transact-SQL ) .For information about memory-optimized index use, see sys.dm_db_xtp_index_stats (Transact-SQL).

Hinweis

Aufrufen von Azure SQL Data WarehouseAzure SQL Data Warehouse oder Parallel Data WarehouseParallel Data Warehouse, verwenden Sie den Namen sys.dm_pdw_nodes_db_index_usage_stats.To call this from Azure SQL Data WarehouseAzure SQL Data Warehouse or Parallel Data WarehouseParallel Data Warehouse, use the name sys.dm_pdw_nodes_db_index_usage_stats.

SpaltennameColumn name DatentypData type DescriptionDescription
database_iddatabase_id smallintsmallint ID der Datenbank, für die die Tabelle oder Sicht definiert ist.ID of the database on which the table or view is defined.
object_idobject_id intint ID der Tabelle oder Sicht, für die der Index definiert ist.ID of the table or view on which the index is defined
index_idindex_id intint Die ID des Index.ID of the index.
user_seeksuser_seeks bigintbigint Anzahl von Suchvorgängen durch Benutzerabfragen.Number of seeks by user queries.
user_scansuser_scans bigintbigint Anzahl von Scanvorgängen durch Benutzerabfragen.Number of scans by user queries. Diese Zahl entspricht Scans, die "seek-Prädikat" nicht verwendet haben.This represents scans that did not use 'seek' predicate.
user_lookupsuser_lookups bigintbigint Anzahl von Lesezeichen-Nachschlagevorgängen durch Benutzerabfragen.Number of bookmark lookups by user queries.
user_updatesuser_updates bigintbigint Anzahl von Updates durch Benutzerabfragen.Number of updates by user queries. Dies schließt INSERT-, DELETE- und aktualisiert, die Anzahl von Vorgängen, die nicht der tatsächliche betroffenen Zeilen darstellt.This includes Insert, Delete and Updates representing number of operations done not the actual rows affected. Z. B. Wenn Sie 1000 Zeilen in einer einzelnen Anweisung löschen, erhöht diese Zahl um 1For example, if you delete 1000 rows in one statement, this count will increment by 1
last_user_seeklast_user_seek datetimedatetime Zeitpunkt des letzten Suchvorgangs durch den BenutzerTime of last user seek
last_user_scanlast_user_scan datetimedatetime Zeitpunkt des letzten Scanvorgangs durch den BenutzerTime of last user scan.
last_user_lookuplast_user_lookup datetimedatetime Zeitpunkt des letzten Nachschlagevorgangs durch den Benutzer.Time of last user lookup.
last_user_updatelast_user_update datetimedatetime Zeitpunkt des letzten Updates durch den Benutzer.Time of last user update.
system_seekssystem_seeks bigintbigint Anzahl von Suchvorgängen durch Systemabfragen.Number of seeks by system queries.
system_scanssystem_scans bigintbigint Anzahl von Scanvorgängen durch Systemabfragen.Number of scans by system queries.
system_lookupssystem_lookups bigintbigint Anzahl von Nachschlagevorgängen durch Systemabfragen.Number of lookups by system queries.
system_updatessystem_updates bigintbigint Anzahl von Updates durch Systemabfragen.Number of updates by system queries.
last_system_seeklast_system_seek datetimedatetime Zeitpunkt des letzten Systemsuchvorgangs.Time of last system seek.
last_system_scanlast_system_scan datetimedatetime Zeitpunkt des letzten Systemscanvorgangs.Time of last system scan.
last_system_lookuplast_system_lookup datetimedatetime Zeitpunkt des letzten Systemnachschlagevorgangs.Time of last system lookup.
last_system_updatelast_system_update datetimedatetime Zeitpunkt des letzten Systemupdates.Time of last system update.
pdw_node_idpdw_node_id intint Gilt für: Azure SQL Data WarehouseAzure SQL Data Warehouse, Parallel Data WarehouseParallel Data WarehouseApplies to: Azure SQL Data WarehouseAzure SQL Data Warehouse, Parallel Data WarehouseParallel Data Warehouse

Der Bezeichner für den Knoten, dem auf diesem Verteilungspunkt befindet.The identifier for the node that this distribution is on.

HinweiseRemarks

Jeder einzelne Such-, Scan-, Nachschlage- oder Updatevorgang für den angegebenen Index durch eine Abfrageausführung zählt als Verwendung dieses Indexes, und der entsprechende Zähler in dieser Sicht wird inkrementiert.Every individual seek, scan, lookup, or update on the specified index by one query execution is counted as a use of that index and increments the corresponding counter in this view. Informationen werden für Vorgänge angezeigt, die durch Benutzerabfragen verursacht werden, und für Vorgänge, die durch intern generierte Abfragen verursacht werden, wie z. B. Scans zum Sammeln von Statistikdaten.Information is reported both for operations caused by user-submitted queries, and for operations caused by internally generated queries, such as scans for gathering statistics.

Die User_updates -Leistungsindikator gibt die wartungsebene für den Index, der durch Insert verursacht, update oder delete-Vorgänge in der zugrunde liegenden Tabelle oder Sicht.The user_updates counter indicates the level of maintenance on the index caused by insert, update, or delete operations on the underlying table or view. Mithilfe dieser Sicht können Sie ermitteln, welche Indizes selten von den Anwendungen verwendet werden.You can use this view to determine which indexes are used only lightly by your applications. Außerdem können Sie mithilfe dieser Sicht bestimmen, welche Indizes einen hohen Wartungsaufwand erzeugen.You can also use the view to determine which indexes are incurring maintenance overhead. Sie können Indizes löschen, die einen hohen Wartungsaufwand erzeugen, aber nicht oder nur selten für Abfragen verwendet werden.You may want to consider dropping indexes that incur maintenance overhead, but are not used for queries, or are only infrequently used for queries.

Die Zähler werden auf 'leer' gesetzt, sobald ein SQL ServerSQL Server-Dienst (MSSQLSERVER) gestartet wird.The counters are initialized to empty whenever the SQL ServerSQL Server (MSSQLSERVER) service is started. Außerdem werden jedes Mal, wenn eine Datenbank getrennt oder beendet wird (beispielsweise, weil AUTO_CLOSE auf ON festgelegt ist), alle dieser Datenbank zugehörigen Zeilen entfernt.In addition, whenever a database is detached or is shut down (for example, because AUTO_CLOSE is set to ON), all rows associated with the database are removed.

Wenn ein Index verwendet wird, wird eine Zeile hinzugefügt, um Sys. dm_db_index_usage_stats Wenn eine Zeile für den Index nicht bereits vorhanden ist.When an index is used, a row is added to sys.dm_db_index_usage_stats if a row does not already exist for the index. Beim Hinzufügen der Zeile sind deren Zähler anfänglich auf 0 festgelegt.When the row is added, its counters are initially set to zero.

Während des Upgrades auf SQL Server 2008 R2SQL Server 2008 R2, SQL Server 2012SQL Server 2012, oder SQL Server 2014SQL Server 2014, Einträge in Sys. dm_db_index_usage_stats werden entfernt.During upgrade to SQL Server 2008 R2SQL Server 2008 R2, SQL Server 2012SQL Server 2012, or SQL Server 2014SQL Server 2014, entries in sys.dm_db_index_usage_stats are removed. Beginnend mit SQL Server 2016SQL Server 2016, Einträge werden beibehalten, wie vor SQL Server 2008 R2SQL Server 2008 R2.Beginning with SQL Server 2016SQL Server 2016, entries are retained as they were prior to SQL Server 2008 R2SQL Server 2008 R2.

BerechtigungenPermissions

Auf SQL ServerSQL Server, erfordert VIEW SERVER STATE Berechtigung.On SQL ServerSQL Server, requires VIEW SERVER STATE permission.
Auf SQL-DatenbankSQL Database benötigen Premium-Ebenen der VIEW DATABASE STATE Berechtigung in der Datenbank.On SQL-DatenbankSQL Database Premium Tiers, requires the VIEW DATABASE STATE permission in the database. Auf SQL-DatenbankSQL Database Standard und grundlegenden Organisationsebenen erfordert die Serveradministrator oder ein Azure Active Directory-Administrators Konto.On SQL-DatenbankSQL Database Standard and Basic Tiers, requires the Server admin or an Azure Active Directory admin account.

Siehe auchSee Also

Index-verbundene dynamische Verwaltungssichten und-Funktionen ( Transact-SQL ) Index Related Dynamic Management Views and Functions (Transact-SQL)
sys.dm_db_index_physical_stats (Transact-SQL) sys.dm_db_index_physical_stats (Transact-SQL)
Sys. dm_db_index_operational_stats ( Transact-SQL ) sys.dm_db_index_operational_stats (Transact-SQL)
sys.indexes (Transact-SQL) sys.indexes (Transact-SQL)
Sys.Objects ( Transact-SQL ) sys.objects (Transact-SQL)
Überwachen und Optimieren der LeistungMonitor and Tune for Performance