sys.dm_io_virtual_file_stats (Transact-SQL)

gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL-databas i Microsoft Fabric

Returnerar I/O-statistik för data och loggfiler. Denna dynamiska hanteringsfunktion ersätter fn_virtualfilestats funktionen.

Anmärkning

För att anropa denna dynamiska hanteringsvy (DMV) från Azure Synapse Analytics, använd namnet sys.dm_pdw_nodes_io_virtual_file_stats Denna syntax stöds inte av serverless SQL pool i Azure Synapse Analytics.

Syntax

Syntax för SQL Server och Azure SQL Database:

sys.dm_io_virtual_file_stats (
    { database_id | NULL } ,
    { file_id | NULL }
)

Syntax för Azure Synapse Analytics:

sys.dm_pdw_nodes_io_virtual_file_stats

Arguments

database_id | NOLL

Gäller för: SQL Server 2008 (10.0.x) och senare, Azure SQL Database

ID för databasen. database_id är int, utan standard. Giltiga indata är databasens ID-nummer eller NULL. När NULL anges returneras alla databaser i SQL Server-instansen.

Den inbyggda funktionen DB_ID kan anges.

file_id | NOLL

Gäller för: SQL Server 2008 (10.0.x) och senare, Azure SQL Database

ID på filen. file_id är int, utan standard. Giltiga indata är filens ID-nummer eller NULL. När NULL anges returneras alla filer i databasen.

Den inbyggda funktionen FILE_IDEX kan specificeras och hänvisar till en fil i den aktuella databasen.

Tabellen returneras

Kolumnnamn Datatyp Description
database_name sysname Databasnamn

För Azure Synapse Analytics är detta namnet på databasen som lagras på noden som identifieras av pdw_node_id. Varje nod har en tempdb databas som innehåller 13 filer. Varje nod har också en databas per distribution, och varje distributionsdatabas har fem filer. Till exempel, om varje nod innehåller fyra distributioner, visar resultaten 20 distributionsdatabasfiler per .pdw_node_id

Gäller inte: SQL Server.
database_id smallint ID på databasen.

I Azure SQL Database är värdena unika i en enskild databas eller en elastisk pool, men inte inom en logisk server.
file_id smallint ID för filen.
sample_ms bigint Antal millisekunder sedan datorn startades. Denna kolumn kan användas för att jämföra olika utdata från denna funktion.

Datatypen är int för SQL Server 2014 (12.x) och tidigare versioner. I dessa versioner återställs värdet till 0 efter cirka 25 dagars kontinuerlig databasmotordrift.
num_of_reads bigint Antal läsningar som publicerats i filen.
num_of_bytes_read bigint Totalt antal byte som lästes på denna fil.
io_stall_read_ms bigint Total tid, i millisekunder, som användarna väntade på läsningar som utfärdades i filen.
num_of_writes bigint Antal skrivningar gjorda på denna fil.
num_of_bytes_written bigint Totalt antal byte skrivna till filen.
io_stall_write_ms bigint Total tid, i millisekunder, som användare väntade på att skrivningarna på filen skulle slutföras.
io_stall bigint Total tid, i millisekunder, som användarna väntade på att I/O skulle slutföras i filen.
size_on_disk_bytes bigint Antal bytes som användes på disken för denna fil. För glesa filer är detta antal det faktiska antalet bytes på disken som används för databassnapshots.
file_handle varbinary Windows-filhandtag för denna fil.
io_stall_queued_read_ms bigint Total IO-latens som introduceras av IO-resursstyrning för läsningar. Inte nullbar. För mer information, se sys.dm_resource_governor_resource_pools.

Gäller inte för: SQL Server 2012 (11.x) och tidigare versioner.
io_stall_queued_write_ms bigint Total IO-latens som introduceras av IO-resursstyrning för skrivningar. Inte nullbar.

Gäller inte för: SQL Server 2012 (11.x) och tidigare versioner.
pdw_node_id int Identifierare för noden för distributionen.

gäller för: Azure Synapse Analytics

Anmärkningar

Räknarna initieras till att bli tomma varje gång SQL Server-tjänsten (MSSQLSERVER) startas.

Permissions

SQL Server 2019 (15.x) och tidigare versioner kräver VIEW SERVER STATE behörighet.

SQL Server 2022 (16.x) och senare versioner kräver VIEW SERVER PERFORMANCE STATE behörighet på servern.

Examples

Kodexemplen i den här artikeln använder AdventureWorks2025- eller AdventureWorksDW2025-exempeldatabasen, som du kan ladda ned från startsidan Microsoft SQL Server Samples och Community Projects.

A. Returnera statistik för en loggfil

Gäller för: SQL Server och Azure SQL Database

Följande exempel returnerar statistik för loggfilen i AdventureWorks2025-databasen.

SELECT *
FROM sys.dm_io_virtual_file_stats(DB_ID(N'AdventureWorks2025'), 2);

B. Returnera statistik för filen i tempdb

gäller för: Azure Synapse Analytics

SELECT *
FROM sys.dm_pdw_nodes_io_virtual_file_stats
WHERE database_name = 'tempdb'
      AND file_id = 2;