fn_virtualfilestats (Transact-SQL)
Gibt E/A-Statistiken für Datenbankdateien zurück, einschließlich Protokolldateien. In SQL Server stehen diese Informationen auch in der dynamischen Verwaltungssicht sys.dm_io_virtual_file_stats zur Verfügung.
Syntax
fn_virtualfilestats ( { database_id | NULL } , { file_id | NULL } )
Argumente
database_id | NULL
Die ID der Datenbank. database_id ist vom Datentyp int und weist keinen Standardwert auf. Geben Sie NULL an, wenn Informationen zu allen Datenbanken in der Instanz von SQL Server zurückgegeben werden sollen.file_id | NULL
Die ID der Datei. file_id ist vom Datentyp int und weist keinen Standardwert auf. 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 |
Datei-ID |
TimeStamp |
int |
Datenbanktimestamp für den Zeitpunkt, zu dem die Daten erhoben wurden |
NumberReads |
bigint |
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 aus IoStallReadMS und IoStallWriteMS |
FileHandle |
bigint |
Wert des Dateihandles |
BytesOnDisk |
bigint |
Die physikalische Dateigröße (Anzahl der Bytes) auf dem Datenträger. Bei Datenbankdateien ist dies der gleiche Wert wie size in sys.database_files; er wird jedoch in Bytes ausgedrückt, nicht in Seiten. Bei Dateien mit geringer Dichte von Datenbanksnapshots ist dies der Speicherplatz, den das Betriebssystem für die Datei in Anspruch nimmt. |
Hinweise
fn_virtualfilestats ist eine System-Tabellenwertfunktion, die statistische Informationen zurückgibt, wie beispielsweise die Gesamtzahl der E/A-Operationen, die für eine Datei ausgeführt wurden. 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
Das folgende Beispiel zeigt statistische Informationen zur Protokolldatei in der Beispieldatenbank AdventureWorks an. Mithilfe der Systemfunktion DB_ID wird der database_id-Parameter angegeben.
SELECT *
FROM fn_virtualfilestats(DB_ID(N'AdventureWorks'), 2);
GO
C. Anzeigen von statistischen Informationen zu allen Datenbanken und Dateien
Das folgende Beispiel zeigt statistische Informationen zu allen Dateien in allen Datenbanken der Instanz von SQL Server an.
SELECT *
FROM fn_virtualfilestats(NULL,NULL);
GO