Delen via


sys.fn_virtualfilestats (Transact-SQL)

van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-database in Microsoft Fabric

Geeft I/O-statistieken terug voor databasebestanden, inclusief logbestanden. In SQL Server is deze informatie ook beschikbaar vanuit de sys.dm_io_virtual_file_stats dynamische beheerweergave.

Transact-SQL syntaxis-conventies

Syntaxis

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

Arguments

database_id | NUL
Is de ID van de database. database_id is int, zonder standaard. Specificeer NULL om informatie terug te geven voor alle databases in de instantie van SQL Server.

file_id | NUL
Is de ID van het dossier. file_id is int, zonder standaard. Specificeer NULL om informatie terug te geven voor alle bestanden in de database.

Tabel geretourneerd

Kolomnaam Gegevenstype Description
DbId smallint Database-id.
FileId smallint Bestands-id.
Tijdstempel bigint Database-tijdstempel waarop de gegevens zijn opgenomen. int in versies vóór SQL Server 2016 (13.x).
NumberReads bigint Aantal leesopdrachten op het bestand.
BytesRead bigint Aantal bytes dat op het bestand is uitgegeven.
IoStallReadMS bigint De totale tijd, in milliseconden, dat gebruikers wachtten tot de lees-I/O's op het bestand waren afgerond.
NumberWrites bigint Aantal schrijfopdrachten op het bestand.
BytesWritten bigint Aantal bytes dat op het bestand is geschreven.
IoStallWriteMS bigint De totale tijd, in milliseconden, die gebruikers wachtten tot de schrijf-I/O's van het bestand waren voltooid.
IoStallMS bigint Som van IoStallReadMS en IoStallWriteMS.
FileHandle bigint Waarde van het bestandshandvat.
BytesOnDisk bigint Fysieke bestandsgrootte (aantal bytes) op de schijf.

Voor databasebestanden is dit dezelfde waarde als grootte in sys.database_files, maar wordt deze uitgedrukt in bytes in plaats van pagina's.

Voor sparse-bestanden met databasesnapshots is dit de ruimte die het besturingssysteem gebruikt voor het bestand.

Opmerkingen

fn_virtualfilestats is een systeemtabel-waarde functie die statistische informatie geeft, zoals het totale aantal I/O's dat op een bestand is uitgevoerd. Je kunt deze functie gebruiken om bij te houden hoe lang gebruikers moeten wachten om een bestand te lezen of te schrijven. De functie helpt ook bij het identificeren van bestanden die grote hoeveelheden I/O-activiteit ondervinden.

Permissions

Vereist toestemming VIEW SERVER STATE op de server.

Voorbeelden

Eén. Statistische informatie weergeven voor een database

Het volgende voorbeeld toont statistische informatie voor bestands-ID 1 in de database met een ID van 1.

SELECT *  
FROM fn_virtualfilestats(1, 1);  
GO  

B. Statistische informatie weergeven voor een benoemde database en bestand

Het volgende voorbeeld toont statistische informatie voor het logbestand in de voorbeelddatabase van AdventureWorks2025. De systeemfunctie DB_ID wordt gebruikt om de database_id parameter te specificeren.

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

C. Statistische informatie weergeven voor alle databases en bestanden

Het volgende voorbeeld toont statistische informatie voor alle bestanden in alle databases in de instantie van SQL Server.

SELECT *  
FROM fn_virtualfilestats(NULL,NULL);  
GO  

Zie ook

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