Partager via


sys.dm_io_virtual_file_stats (Transact-SQL)

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Base de données SQL dans Microsoft Fabric

Renvoie des statistiques d'E/S sur les fichiers de données et les journaux. Cette fonction de gestion dynamique remplace la fonction fn_virtualfilestats .

Remarque

Pour appeler cette vue de gestion dynamique (DMV) d’Azure Synapse Analytics, utilisez le nom sys.dm_pdw_nodes_io_virtual_file_stats Cette syntaxe n’est pas prise en charge par le pool SQL serverless dans Azure Synapse Analytics.

Syntaxe

Syntaxe pour SQL Server et Azure SQL Database :

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

Syntaxe pour Azure Synapse Analytics :

sys.dm_pdw_nodes_io_virtual_file_stats

Arguments

database_id | ZÉRO

S’applique à : SQL Server 2008 (10.0.x) et ultérieur, Azure SQL Database

ID de la base de données. database_id est int, sans valeur par défaut. Les entrées valides sont le numéro d’identification d’une base de données ou NULL. Lorsque NULL cette information est spécifiée, toutes les bases de données de l’instance de SQL Server sont renvoyées.

La fonction intégrée DB_ID peut être spécifiée.

file_id | ZÉRO

S’applique à : SQL Server 2008 (10.0.x) et ultérieur, Azure SQL Database

ID du fichier. file_id est int, sans valeur par défaut. Les entrées valides sont le numéro d’identification d’un fichier ou NULL. Lorsque NULL cela est spécifié, tous les fichiers de la base de données sont retournés.

La fonction intégrée FILE_IDEX peut être spécifiée et fait référence à un fichier dans la base de données active.

Table retournée

Nom de la colonne Type de données Description
database_name sysname Nom de la base de données.

Pour Azure Synapse Analytics, c’est le nom de la base de données stockée sur le nœud identifié par pdw_node_id. Chaque nœud possède une tempdb base de données contenant 13 fichiers. Chaque nœud possède également une base de données par distribution, et chaque base de données de distribution contient cinq fichiers. Par exemple, si chaque nœud contient quatre distributions, les résultats montrent 20 fichiers de base de données de distribution par pdw_node_id.

Ne s’applique pas à : SQL Server.
database_id smallint ID de la base de données.

Dans la base de données Azure SQL, les valeurs sont uniques au sein d’une base de données unique ou d’un pool élastique, mais pas dans un serveur logique.
file_id smallint ID du fichier.
sample_ms bigint Nombre de millisecondes écoulées depuis le démarrage de l'ordinateur. Cette colonne peut être utilisée pour comparer différentes sorties issues de cette fonction.

Le type de données est int pour SQL Server 2014 (12.x) et versions antérieures. Dans ces versions, la valeur est réinitialisée à 0 après environ 25 jours de temps d’activité continu du moteur de base de données.
num_of_reads bigint Nombre de lectures effectuées sur le fichier.
num_of_bytes_read bigint Nombre total d'octets lus sur ce fichier.
io_stall_read_ms bigint Durée totale (en millisecondes) d'attente des utilisateurs pour les lectures effectuées sur le fichier.
num_of_writes bigint Nombre d'écritures effectuées sur ce fichier.
num_of_bytes_written bigint Nombre total d'octets écrits dans le fichier.
io_stall_write_ms bigint Durée totale (en millisecondes) d'attente des utilisateurs pour les écritures effectuées sur le fichier.
io_stall bigint Durée totale (en millisecondes) d'attente des utilisateurs pour les entrées/sorties effectuées sur le fichier.
size_on_disk_bytes bigint Nombre d'octets utilisés sur le disque pour ce fichier. Pour les fichiers partiellement alloués, ce nombre est le nombre réel d'octets utilisés sur le disque pour les instantanés de la base de données.
file_handle varbinary Descripteur de fichier Windows pour ce fichier.
io_stall_queued_read_ms bigint Latence totale d'E/S introduite par la gouvernance des ressources d'E/S pour les lectures. Ne pouvant accepter la valeur null. Pour plus d’informations, voir sys.dm_resource_governor_resource_pools.

Ne s’applique pas à : SQL Server 2012 (11.x) et versions antérieures.
io_stall_queued_write_ms bigint Latence totale d'E/S introduite par la gouvernance des ressources d'E/S pour les écritures. Ne pouvant accepter la valeur null.

Ne s’applique pas à : SQL Server 2012 (11.x) et versions antérieures.
pdw_node_id int Identifiant du nœud pour la distribution.

S’applique à : Azure Synapse Analytics

Notes

Les compteurs sont initialisés pour être vides chaque fois que le service SQL Server (MSSQLSERVER) est démarré.

autorisations

SQL Server 2019 (15.x) et les versions antérieures nécessitent VIEW SERVER STATE une autorisation.

SQL Server 2022 (16.x) et versions ultérieures nécessitent VIEW SERVER PERFORMANCE STATE une autorisation sur le serveur.

Exemples

Les exemples de code de cet article utilisent les bases de données d'exemple AdventureWorks2025 ou AdventureWorksDW2025, que vous pouvez télécharger à partir de la page d'accueil Microsoft SQL Server Samples and Community Projects.

R. Retourner des statistiques pour un fichier journal

S’applique à : SQL Server et Azure SQL Database

L’exemple suivant restitue des statistiques pour le fichier journal dans la base de données AdventureWorks2025.

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

B. Retourner des statistiques pour le fichier dans tempdb

S’applique à : Azure Synapse Analytics

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