Delen via


sys.dm_io_virtual_file_stats (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform Systeem (PDW)SQL-database in Microsoft Fabric

Geeft I/O-statistieken terug voor data en logbestanden. Deze dynamische beheerfunctie vervangt de fn_virtualfilestats functie.

Opmerking

Om deze dynamische beheerweergave (DMV) van Azure Synapse Analytics aan te roepen, gebruik je de naam sys.dm_pdw_nodes_io_virtual_file_stats Deze syntax wordt niet ondersteund door serverless SQL pool in Azure Synapse Analytics.

Syntaxis

Syntaxis voor SQL Server en Azure SQL Database:

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

Syntaxis voor Azure Synapse Analytics:

sys.dm_pdw_nodes_io_virtual_file_stats

Arguments

database_id | NUL

Van toepassing op: SQL Server 2008 (10.0.x) en later, Azure SQL Database

Id van de database. database_id is int, zonder standaard. Geldige invoer zijn het ID-nummer van een database of NULL. Wanneer NULL is gespecificeerd, worden alle databases in de instantie van SQL Server teruggegeven.

De ingebouwde functie DB_ID kan worden opgegeven.

file_id | NUL

Van toepassing op: SQL Server 2008 (10.0.x) en later, Azure SQL Database

ID van het dossier. file_id is int, zonder standaard. Geldige invoer zijn het ID-nummer van een bestand of NULL. Wanneer NULL gespecificeerd, worden alle bestanden in de database teruggegeven.

De ingebouwde functie FILE_IDEX kan worden gespecificeerd en verwijst naar een bestand in de huidige database.

Tabel geretourneerd

Kolomnaam Gegevenstype Description
database_name sysname Databasenaam.

Voor Azure Synapse Analytics is dit de naam van de database die wordt opgeslagen op de knoop die door pdw_node_idwordt geïdentificeerd. Elke node heeft één tempdb database met 13 bestanden. Elke node heeft ook één database per distributie, en elke distributiedatabase heeft vijf bestanden. Als bijvoorbeeld elke knoop vier distributies bevat, tonen de resultaten 20 distributiedatabasebestanden per .pdw_node_id

Niet van toepassing op: SQL Server.
database_id smallint ID van database.

In Azure SQL Database zijn de waarden uniek binnen één database of een elastische pool, maar niet binnen een logische server.
file_id smallint Id van bestand.
sample_ms bigint Aantal milliseconden sinds de computer is gestart. Deze kolom kan worden gebruikt om verschillende uitvoer van deze functie te vergelijken.

Het datatype is int voor SQL Server 2014 (12.x) en eerdere versies. In deze versies wordt de waarde na ongeveer 25 dagen continue beschikbaarheid van de database-engine teruggezet naar 0.
num_of_reads bigint Aantal leesopdrachten op het bestand.
num_of_bytes_read bigint Totaal aantal bytes dat op dit bestand is gelezen.
io_stall_read_ms bigint Totale tijd, in milliseconden, dat de gebruikers wachtten op de leesopdrachten die op het bestand zijn uitgegeven.
num_of_writes bigint Aantal schrijfopdrachten op dit bestand.
num_of_bytes_written bigint Totaal aantal bytes dat naar het bestand is geschreven.
io_stall_write_ms bigint Totale tijd, in milliseconden, die gebruikers wachtten tot het schrijven van het bestand was voltooid.
io_stall bigint Totale tijd, in milliseconden, die gebruikers wachtten tot I/O op het bestand was voltooid.
size_on_disk_bytes bigint Aantal bytes dat op de schijf voor dit bestand wordt gebruikt. Voor sparse bestanden is dit het werkelijke aantal bytes op de schijf dat wordt gebruikt voor databasesnapshots.
file_handle varbinary Windows-bestandshandle voor dit bestand.
io_stall_queued_read_ms bigint Totale IO-latentie geïntroduceerd door IO-resourcebeheer voor reads. Niet nullwaarde. Voor meer informatie, zie sys.dm_resource_governor_resource_pools.

Niet van toepassing op: SQL Server 2012 (11.x) en eerdere versies.
io_stall_queued_write_ms bigint Totale IO-latentie die wordt geïntroduceerd door IO-resourcebeheer voor schrijfopdrachten. Niet nullwaarde.

Niet van toepassing op: SQL Server 2012 (11.x) en eerdere versies.
pdw_node_id int Identificatie van de knoop voor de distributie.

van toepassing op: Azure Synapse Analytics

Opmerkingen

De tellers worden geïnitialiseerd tot leeg telkens wanneer de SQL Server (MSSQLSERVER) service wordt gestart.

Permissions

VOOR SQL Server 2019 (15.x) en eerdere versies is toestemming vereist VIEW SERVER STATE .

VOOR SQL Server 2022 (16.x) en latere versies is machtiging vereist VIEW SERVER PERFORMANCE STATE op de server.

Voorbeelden

De codevoorbeelden in dit artikel gebruiken de AdventureWorks2025 of AdventureWorksDW2025 voorbeelddatabase die u kunt downloaden van de startpagina van Microsoft SQL Server Samples en Community Projects .

Eén. Geef statistieken terug voor een logbestand

Van toepassing op: SQL Server en Azure SQL Database

Het volgende voorbeeld geeft statistieken terug voor het logbestand in de AdventureWorks2025-database.

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

B. Retour statistieken voor bestand in tempdb

van toepassing op: Azure Synapse Analytics

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