Freigeben über


sys.dm_io_virtual_file_stats (Transact-SQL)

Gilt für:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL-Datenbank in Microsoft Fabric

Gibt E/A-Statistiken für Daten- und Protokolldateien zurück. Diese dynamische Verwaltungsfunktion ersetzt die funktion fn_virtualfilestats .

Hinweis

Um diese dynamische Managementansicht (DMV) aus Azure Synapse Analytics aufzurufen, verwenden Sie den Namen sys.dm_pdw_nodes_io_virtual_file_stats Diese Syntax wird von serverless SQL Pool in Azure Synapse Analytics nicht unterstützt.

Syntax

Syntax für SQL Server und Azure SQL-Datenbank:

sys.dm_io_virtual_file_stats (
    { database_id | NULL } ,
    { file_id | NULL }
)

Syntax für Azure Synapse Analytics:

sys.dm_pdw_nodes_io_virtual_file_stats

Argumente

database_id | NULL

Gilt für: SQL Server 2008 (10.0.x) und später, Azure SQL Database

Die ID der Datenbank. database_id ist int, ohne Standard. Gültige Eingaben sind die ID-Nummer einer Datenbank oder NULL. Wenn NULL angegeben ist, werden alle Datenbanken in der SQL Server-Instanz zurückgegeben.

Die integrierte Funktion DB_ID kann angegeben werden.

file_id | NULL

Gilt für: SQL Server 2008 (10.0.x) und später, Azure SQL Database

Die ID der Datei. file_id ist "int" ohne Standard. Gültige Eingaben sind die ID-Nummer einer Datei oder NULL. Wenn NULL angegeben ist, werden alle Dateien in der Datenbank zurückgegeben.

Die integrierte Funktion FILE_IDEX kann angegeben werden und bezieht sich auf eine Datei in der aktuellen Datenbank.

Zurückgegebene Tabelle

Spaltenname Datentyp Beschreibung
database_name sysname Datenbankname.

Für Azure Synapse Analytics ist dies der Name der Datenbank, die auf dem von der Knoten identifizierten Knoten pdw_node_idgespeichert ist. Jeder Knoten hat eine Datenbank tempdb mit 13 Dateien. Jeder Knoten hat außerdem eine Datenbank pro Distribution, und jede Verteilungsdatenbank enthält fünf Dateien. Zum Beispiel, wenn jeder Knoten vier Distributionen enthält, zeigen die Ergebnisse 20 Datenbankdateien pro pdw_node_id.

Gilt nicht für: SQL Server.
database_id smallint ID der Datenbank.

In Azure SQL-Datenbank sind die Werte innerhalb einer einzelnen Datenbank oder eines Pools für elastische Datenbanken eindeutig, aber nicht innerhalb eines logischen Servers.
file_id smallint ID der Datei.
sample_ms bigint Anzahl der Millisekunden seit dem Starten des Computers. Diese Spalte kann verwendet werden, um verschiedene Ausgänge dieser Funktion zu vergleichen.

Der Datentyp ist int für SQL Server 2014 (12.x) und frühere Versionen. In diesen Versionen wird der Wert nach ca. 25 Tagen fortlaufender Datenbankmodulbetriebszeit auf 0 zurückgesetzt.
num_of_reads bigint Die Anzahl der Lesevorgänge, die für die Datei ausgegeben wurden.
num_of_bytes_read bigint Gesamtanzahl von Bytes, die aus dieser Datei gelesen wurden.
io_stall_read_ms bigint Gesamtzeit in Millisekunden, die die Benutzer auf Lesevorgänge gewartet haben, die für die Datei ausgegeben wurden.
num_of_writes bigint Anzahl von Schreibvorgängen, die für diese Datei ausgeführt wurden.
num_of_bytes_written bigint Gesamtanzahl von Bytes, die in die Datei geschrieben wurden.
io_stall_write_ms bigint Gesamtzeit in Millisekunden, die die Benutzer darauf gewartet haben, dass Schreibvorgänge für die Datei abgeschlossen werden.
io_stall bigint Gesamtzeit in Millisekunden, die die Benutzer darauf gewartet haben, dass E/A-Vorgänge für die Datei abgeschlossen werden.
size_on_disk_bytes bigint Anzahl von Bytes, die auf dem Datenträger für diese Datei verwendet werden. Für Sparsedateien ist dies die tatsächliche Anzahl von Bytes auf dem Datenträger, die für Datenbankmomentaufnahmen verwendet werden.
file_handle varbinary Windows-Dateihandle für diese Datei.
io_stall_queued_read_ms bigint Die E/A-Gesamtlatenz, die durch die Ressourcenkontrolle für E/A-Lesevorgänge eingeführt wird. Lässt keine NULL-Werte zu. Weitere Informationen finden Sie unter sys.dm_resource_governor_resource_pools.

Gilt nicht für: SQL Server 2012 (11.x) und frühere Versionen.
io_stall_queued_write_ms bigint Die E/A-Gesamtlatenz, die durch die Ressourcenkontrolle für E/A-Schreibvorgänge eingeführt wird. Lässt keine NULL-Werte zu.

Gilt nicht für: SQL Server 2012 (11.x) und frühere Versionen.
pdw_node_id int Kenner des Knotens für die Verteilung.

Gilt für: Azure Synapse Analytics

Hinweise

Die Leistungsindikatoren werden initialisiert, wenn der SQL Server (MSSQLSERVER)-Dienst gestartet wird.

Berechtigungen

SQL Server 2019 (15.x) und frühere Versionen erfordern VIEW SERVER STATE eine Berechtigung.

SQL Server 2022 (16.x) und höhere Versionen erfordern VIEW SERVER PERFORMANCE STATE berechtigungen auf dem Server.

Beispiele

Die Codebeispiele in diesem Artikel verwenden die AdventureWorks2025- oder AdventureWorksDW2025 Beispieldatenbank, die Sie von der Microsoft SQL Server Samples and Community Projects Homepage herunterladen können.

A. Rückgabestatistiken für eine Protokolldatei

Gilt für: SQL Server und Azure SQL Database

Das folgende Beispiel liefert Statistiken für die Logdatei in der AdventureWorks2025-Datenbank.

SELECT *
FROM sys.dm_io_virtual_file_stats(DB_ID(N'AdventureWorks2025'), 2);

B. Rückgabestatistiken für Datei in tempdb

Gilt für: Azure Synapse Analytics

SELECT *
FROM sys.dm_pdw_nodes_io_virtual_file_stats
WHERE database_name = 'tempdb'
      AND file_id = 2;