sys.dm_io_virtual_file_stats (Transact-SQL)

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

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 .

Notes

Pour l’appeler à partir de 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

-- Syntax for SQL Server and Azure SQL Database

sys.dm_io_virtual_file_stats (   
    { database_id | NULL },  
    { file_id | NULL }  
)  
-- Syntax for Azure Synapse Analytics

sys.dm_pdw_nodes_io_virtual_file_stats

Arguments

database_id | NULL

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

ID de la base de données. database_id est int, sans valeur par défaut. Les entrées autorisées sont l'ID d'une base de données ou la valeur NULL. Lorsque la valeur NULL est spécifiée, toutes les bases de données du instance de SQL Server sont retournées.

Vous pouvez spécifier la fonction intégrée DB_ID.

file_id | NULL

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

ID du fichier. file_id est int, sans valeur par défaut. Les entrées autorisées sont l'ID d'un fichier ou la valeur NULL. Lorsque vous spécifiez la valeur NULL, tous les fichiers de la base de données sont renvoyé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 Ne s’applique pas à :: SQL Server.

Nom de la base de données.

Pour Azure Synapse Analytics, il s’agit du nom de la base de données stockée sur le nœud identifié par pdw_node_id. Chaque nœud a une base de données tempdb qui contient 13 fichiers. Chaque nœud a également une base de données par distribution, et chaque base de données de distribution a 5 fichiers. Par exemple, si chaque nœud contient 4 distributions, les résultats affichent 20 fichiers de base de données de distribution par pdw_node_id.
database_id smallint ID de la base de données.

Dans Azure SQL Database, les valeurs sont uniques au sein d’une base de données unique ou d’un pool élastique, mais pas au sein d’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 de cette fonction.

Le type de données est int pour SQL Server 2008 (10.0.x) à SQL Server 2014 (12.x). Dans ces versions, la valeur est réinitialisée à 0 après environ 25 jours de disponibilité continue 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 Ne s’applique pas à : SQL Server 2008 (10.0.x) à SQL Server 2012 (11.x).

Latence totale d'E/S introduite par la gouvernance des ressources d'E/S pour les lectures. N'accepte pas la valeur NULL. Pour plus d’informations, consultez sys.dm_resource_governor_resource_pools (Transact-SQL).
io_stall_queued_write_ms bigint Ne s’applique pas à : SQL Server 2008 (10.0.x) à SQL Server 2012 (11.x).

Latence totale d'E/S introduite par la gouvernance des ressources d'E/S pour les écritures. N'accepte pas la valeur NULL.
pdw_node_id int S’applique à : Azure Synapse identificateur Analytics

du nœud pour la distribution.

Notes

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

Autorisations

Requiert l'autorisation VIEW SERVER STATE. Pour plus d’informations, consultez Vues et fonctions de gestion dynamique (Transact-SQL).

Autorisations pour SQL Server 2022 (et versions plus récentes)

Nécessite l’autorisation VIEW SERVER PERFORMANCE STATE sur le serveur.

Exemples

R. Retourner des statistiques pour un fichier journal

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

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

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

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;

Voir aussi

Fonctions et vues de gestion dynamique (Transact-SQL)
Fonctions et vues de gestion dynamique liées aux E/S (Transact-SQL)
sys.database_files (Transact-SQL)
sys.master_files (Transact-SQL)