sys.fn_virtualfilestats (Transact-SQL)
Gilt für: SQL Server Azure SQL-Datenbank Azure 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
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)