sys.fn_virtualfilestats (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed Instance

Gibt E/A-Statistiken für Datenbankdateien zurück, einschließlich Protokolldateien. In SQL Server stehen diese Informationen auch in der sys.dm_io_virtual_file_stats dynamischen Verwaltungsansicht zur Verfügung.

Transact-SQL-Syntaxkonventionen

Syntax

  
fn_virtualfilestats ( { database_id | NULL } , { file_id | NULL } )  

Argumente

database_id | NULL
Ist die ID der Datenbank. database_id ist vom Datentyp intund hat keinen Standardwert. Geben Sie NULL an, um Informationen für alle Datenbanken in der Sql Server-Instanz zurückzugeben.

file_id | NULL
Die ID der Datei. file_id ist vom Datentyp intund hat keinen Standardwert. Geben Sie NULL an, wenn Informationen zu allen Dateien in der Datenbank zurückgegeben werden sollen.

Zurückgegebene Tabelle

Spaltenname Datentyp Beschreibung
DbId smallint Datenbank-ID
FileId smallint Die Datei-ID
TimeStamp bigint Datenbanktimestamp für den Zeitpunkt, zu dem die Daten erhoben wurden int in Versionen vor SQL Server 2016 (13.x).
NumberReads bigint Die Anzahl der Lesevorgänge, die für die Datei ausgegeben wurden.
BytesRead bigint Anzahl der Bytes, die aus der Datei gelesen wurden
IoStallReadMS bigint Gesamtzeit in Millisekunden, die die Benutzer darauf gewartet haben, dass E/A-Leseoperationen für die Datei abgeschlossen wurden
NumberWrites bigint Anzahl der Schreibvorgänge, die für die Datei ausgeführt wurden
BytesWritten bigint Anzahl der Bytes, die in die Datei geschrieben wurden
IoStallWriteMS bigint Gesamtzeit in Millisekunden, die die Benutzer darauf gewartet haben, dass E/A-Schreiboperationen für die Datei abgeschlossen wurden
IoStallMS bigint Summe von IoStallReadMS und IoStallWriteMS.
Filehandle bigint Wert des Dateihandles
BytesOnDisk bigint Die physische Dateigröße (Anzahl der Bytes) auf dem Datenträger.

Bei Datenbankdateien ist dies derselbe Wert wie die Größe in sys.database_files, wird jedoch in Bytes und nicht in Seiten ausgedrückt.

Bei Sparsedateien von Datenbankmomentaufnahmen ist dies der Speicherplatz, den das Betriebssystem für die Datei in Anspruch nimmt.

Hinweise

fn_virtualfilestats ist eine Systemtabellenwertfunktion, die statistische Informationen liefert, z. B. die Gesamtanzahl der für eine Datei ausgeführten E/A-Werte. Diese Funktion hilft beim Verfolgen der Zeitdauer, die Benutzer warten müssen, um eine Datei zu lesen oder darin zu schreiben. Diese Funktion hilft außerdem beim Identifizieren der Dateien mit hoher E/A-Aktivität.

Berechtigungen

Erfordert die VIEW SERVER STATE-Berechtigung auf dem Server.

Beispiele

.A Anzeigen von statistischen Informationen zu einer Datenbank

Das folgende Beispiel zeigt statistische Informationen zur Datei ID 1 in der Datenbank an, die die ID 1 hat.

SELECT *  
FROM fn_virtualfilestats(1, 1);  
GO  

B. Anzeigen von statistischen Informationen zu einer benannten Datenbank und Datei

Im folgenden Beispiel werden statistische Informationen für die Protokolldatei in der AdventureWorks2022-Beispieldatenbank angezeigt. Die Systemfunktion DB_ID wird verwendet, um den database_id Parameter anzugeben.

SELECT *  
FROM fn_virtualfilestats(DB_ID(N'AdventureWorks2022'), 2);  
GO  

C. Anzeigen von statistischen Informationen zu allen Datenbanken und Dateien

Im folgenden Beispiel werden statistische Informationen für alle Dateien in allen Datenbanken in der Sql Server-Instanz angezeigt.

SELECT *  
FROM fn_virtualfilestats(NULL,NULL);  
GO  

Weitere Informationen

DB_ID (Transact-SQL)
FILE_IDEX (Transact-SQL)
sys.database_files (Transact-SQL)
sys.master_files (Transact-SQL)