sys.fn_virtualfilestats (Transact-SQL)

S’applique à : SQL ServerAzure SQL Database Azure SQL Managed Instance

Retourne des statistiques sur les entrées/sorties (E/S) des fichiers de base de données, notamment sur les fichiers journaux. Dans SQL Server, ces informations sont également disponibles à partir de la vue de gestion dynamique sys.dm_io_virtual_file_stats .

Conventions de la syntaxe Transact-SQL

Syntaxe

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

Arguments

database_id | ZÉRO
ID de la base de données. database_id est de type int, sans valeur par défaut. Spécifiez NULL pour retourner des informations pour toutes les bases de données dans l’instance de SQL Server.

file_id | ZÉRO
Identificateur du fichier. file_id est int, sans valeur par défaut. Spécifiez NULL pour retourner les informations de tous les fichiers de la base de données.

Table retournée

Nom de la colonne Type de données Description
DbId smallint ID de la base de données.
FileId smallint ID de fichier.
TimeStamp bigint Horodateur de prélèvement des données de base de données int dans les versions antérieures à SQL Server 2016 (13.x).
NumberReads bigint Nombre de lectures effectuées sur le fichier.
BytesRead bigint Nombre d'octets lus sur le fichier
IoStallReadMS bigint Durée totale (en millisecondes) d'exécution des E/S de lecture sur le fichier
NumberWrites bigint Nombre d'écritures effectuées sur le fichier
BytesWritten bigint Nombre d'octets écrits sur le fichier
IoStallWriteMS bigint Durée totale (en millisecondes) d'exécution des E/S d'écriture sur le fichier
IoStallMS bigint Somme d’IoStallReadMS et d’IoStallWriteMS.
FileHandle bigint Valeur du handle de fichier.
BytesOnDisk bigint Taille physique du fichier sur le disque (en octets).

Pour les fichiers de base de données, il s’agit de la même valeur que la taille dans sys.database_files, mais exprimée en octets plutôt que dans les pages.

Dans le cas des fichiers partiellement alloués d'instantané de base de données, il s'agit de l'espace qu'utilise le système d'exploitation pour ceux-ci.

Notes

fn_virtualfilestats est une fonction table système qui fournit des informations statistiques, telles que le nombre total d’E/S effectuées sur un fichier. Cette fonction vous permet d'enregistrer et de suivre la durée d'attente de l'utilisateur avant de pouvoir lire ou écrire dans un fichier. Cette fonction permet également d'identifier les fichiers dont l'activité est intense au niveau des entrées/sorties (E/S).

autorisations

requièrent l'autorisation VIEW SERVER STATE sur le serveur.

Exemples

R. Affichage des informations statistiques d'une base de données

L'exemple suivant affiche les informations statistiques de l'ID de fichier 1 de la base de données dont l'ID est 1.

SELECT *  
FROM fn_virtualfilestats(1, 1);  
GO  

B. Affichage des informations statistiques d'une base de données et d'un fichier nommés

L’exemple suivant affiche des informations statistiques pour le fichier journal dans l’exemple de base de données AdventureWorks2022. La fonction DB_ID système est utilisée pour spécifier le paramètre database_id .

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

C. Affichage des informations statistiques de la totalité des bases de données et des fichiers

L’exemple suivant affiche des informations statistiques pour tous les fichiers de toutes les bases de données de l’instance de SQL Server.

SELECT *  
FROM fn_virtualfilestats(NULL,NULL);  
GO  

Voir aussi

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