sys.dm_io_virtual_file_stats (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

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

Hinweis

Um dies aus Azure Synapse Analytics aufzurufen, verwenden Sie den Namen sys.dm_pdw_nodes_io_virtual_file_stats. Diese Syntax wird vom serverlosen SQL-Pool in Azure Synapse Analytics nicht unterstützt.

Syntax

-- Syntax for SQL Server and Azure SQL Database

sys.dm_io_virtual_file_stats (   
    { database_id | NULL },  
    { file_id | NULL }  
)  
-- Syntax for 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 höher, Azure SQL-Datenbank

Die ID der Datenbank. database_id ist int, ohne Standardwert. Eine gültige Eingabe ist die ID einer Datenbank oder NULL. Wenn NULL angegeben ist, werden alle Datenbanken im instance von SQL Server zurückgegeben.

Die integrierte DB_ID-Funktion kann angegeben werden.

file_id | NULL

Gilt für: SQL Server 2008 (10.0.x) und höher, Azure SQL-Datenbank

Die ID der Datei. file_id ist int ohne Standardwert. Eine gültige Eingabe ist die ID einer Datei oder NULL. Wenn Sie NULL angeben, werden alle Dateien in der Datenbank zurückgegeben.

Die integrierte Funktion FILE_IDEX angegeben werden und verweist auf eine Datei in der aktuellen Datenbank.

Zurückgegebene Tabelle

Spaltenname Datentyp BESCHREIBUNG
database_name sysname Gilt nicht für:: SQL Server.

Datenbankname.

Bei Azure Synapse Analytics ist dies der Name der Datenbank, die auf dem Knoten gespeichert ist und durch pdw_node_id identifiziert wird. Jeder Knoten verfügt über eine tempdb-Datenbank mit 13 Dateien. Jeder Knoten verfügt außerdem über eine Datenbank pro Verteilung, und jede Verteilungsdatenbank verfügt über 5 Dateien. Wenn beispielsweise jeder Knoten 4 Verteilungen enthält, werden in den Ergebnissen 20 Verteilungsdatenbankdateien pro pdw_node_id angezeigt.
database_id smallint ID der Datenbank.

In Azure SQL-Datenbank sind die Werte innerhalb einer Einzeldatenbank 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 Ausgaben dieser Funktion zu vergleichen.

Der Datentyp ist int für SQL Server 2008 (10.0.x) bis SQL Server 2014 (12.x). In diesen Versionen wird der Wert nach ca. 25 Tagen Betriebszeit der fortlaufenden Datenbank-Engine 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 Gilt nicht für: SQL Server 2008 (10.0.x) bis SQL Server 2012 (11.x).

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 (Transact-SQL).
io_stall_queued_write_ms bigint Gilt nicht für: SQL Server 2008 (10.0.x) bis SQL Server 2012 (11.x).

Die E/A-Gesamtlatenz, die durch die Ressourcenkontrolle für E/A-Schreibvorgänge eingeführt wird. Lässt keine NULL-Werte zu.
pdw_node_id int Gilt für: Azure Synapse Analysebezeichner

des Knotens für die Verteilung.

Hinweise

Die Indikatoren werden immer dann als leer initialisiert, wenn der SQL Server (MSSQLSERVER)-Dienst gestartet wird.

Berechtigungen

Erfordert die VIEW SERVER STATE-Berechtigung. Weitere Informationen finden Sie unter Dynamische Verwaltungssichten und -funktionen (Transact-SQL).

Berechtigungen für SQL Server 2022 und höher

Erfordert die VIEW SERVER PERFORMANCE STATE-Berechtigung auf dem Server.

Beispiele

A. Zurückgeben von Statistiken für eine Protokolldatei

Gilt für: SQL Server 2008 (10.0.x) und höher, Azure SQL-Datenbank

Im folgenden Beispiel werden Statistiken für die Protokolldatei in der AdventureWorks2022-Datenbank zurückgegeben.

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

B. Zurückgeben von Statistiken für die 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;

Siehe auch

Dynamische Verwaltungssichten und Funktionen (Transact-SQL)
Dynamische Verwaltungssichten und Funktionen im Zusammenhang mit der Eingabe/Ausgabe (Transact-SQL)
sys.database_files (Transact-SQL)
sys.master_files (Transact-SQL)