sys.fn_virtualfilestats (Transact-SQL)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-databas i Microsoft Fabric

Returnerar I/O-statistik för databasfiler, inklusive loggfiler. I SQL Server finns denna information också tillgänglig från den sys.dm_io_virtual_file_stats dynamiska hanteringsvyn.

Transact-SQL syntaxkonventioner

Syntax

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

Arguments

database_id | NOLL
Är databasens ID. database_id är int, utan standard. Ange NULL för att returnera information för alla databaser i SQL Server-instansen.

file_id | NOLL
Är filens ID. file_id är int, utan standard. Ange NULL för att returnera information för alla filer i databasen.

Tabell returnerad

Kolumnnamn Datatyp Description
DbId smallint Databas-ID.
FileId smallint Fil-ID.
Tidsstämpel bigint Databasens tidsstämpel där datan togs. int i versioner före SQL Server 2016 (13.x).
NumberReads bigint Antal läsningar som publicerats i filen.
BytesRead bigint Antal byte som lästs ut i filen.
IoStallReadMS bigint Total tid, i millisekunder, som användarna väntade på att läs-I/O:erna skulle slutföras i filen.
NumberWrites bigint Antal skrivningar på filen.
BytesWritten bigint Antal byte som skrivits i filen.
IoStallWriteMS bigint Total tid, i millisekunder, som användare väntade på att skriv-I/O:n skulle slutföras på filen.
IoStallMS bigint Summan av IoStallReadMS och IoStallWriteMS.
FileHandle bigint Värdet på filhandtaget.
BytesOnDisk bigint Fysisk filstorlek (antal byte) på disken.

För databasfiler är detta samma värde som storlek i sys.database_files, men uttrycks i bytes istället för sidor.

För databassnapshot-sparfiler är detta det utrymme operativsystemet använder för filen.

Anmärkningar

fn_virtualfilestats är en tabellvärd funktion som ger statistisk information, såsom det totala antalet I/O:er som utförts på en fil. Du kan använda denna funktion för att hålla koll på hur lång tid användare måste vänta på att läsa eller skriva till en fil. Funktionen hjälper också till att identifiera filer som möter stora mängder I/O-aktivitet.

Permissions

Kräver behörighet VIEW SERVER STATE på servern.

Examples

A. Visning av statistisk information för en databas

Följande exempel visar statistisk information för fil-ID 1 i databasen med ett ID på 1.

SELECT *  
FROM fn_virtualfilestats(1, 1);  
GO  

B. Visning av statistisk information för en namngiven databas och fil

Följande exempel visar statistisk information för loggfilen i AdventureWorks2025:s exempeldatabas. Systemfunktionen DB_ID används för att specificera den database_id parametern.

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

C. Visar statistisk information för alla databaser och filer

Följande exempel visar statistisk information för alla filer i alla databaser i SQL Server-instansen.

SELECT *  
FROM fn_virtualfilestats(NULL,NULL);  
GO  

Se även

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