Compartir a través de


sys.dm_io_virtual_file_stats (Transact-SQL)

Aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSistema de Plataforma de Analítica (PDW)Base de datos SQL en Microsoft Fabric

Devuelve las estadísticas de E/S de los archivos de registro y datos. Esta función de administración dinámica reemplaza la función fn_virtualfilestats .

Nota:

Para llamar a esta vista de gestión dinámica (DMV) de Azure Synapse Analytics, utilice el nombre sys.dm_pdw_nodes_io_virtual_file_stats Esta sintaxis no es compatible con el pool SQL serverless en Azure Synapse Analytics.

Sintaxis

Sintaxis para SQL Server y Azure SQL Database:

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

Sintaxis para Azure Synapse Analytics:

sys.dm_pdw_nodes_io_virtual_file_stats

Argumentos

database_id | NULO

Aplica a: SQL Server 2008 (10.0.x) y posteriores, Azure SQL Database

Identificador de la base de datos. database_id es int, sin ningún valor predeterminado. Las entradas válidas son el número ID de una base de datos o NULL. Cuando NULL se especifica, se devuelven todas las bases de datos en la instancia de SQL Server.

Se puede especificar la función integrada DB_ID.

file_id | NULO

Aplica a: SQL Server 2008 (10.0.x) y posteriores, Azure SQL Database

Id. del archivo. file_id es int, sin ningún valor predeterminado. Las entradas válidas son el número ID de un archivo o NULL. Cuando NULL se especifica, se devuelven todos los archivos de la base de datos.

Se puede especificar la función integrada FILE_IDEX y hace referencia a un archivo de la base de datos actual.

Tabla devuelta

Nombre de la columna Tipo de datos Descripción
database_name sysname Nombre de la base de datos.

Para Azure Synapse Analytics, este es el nombre de la base de datos almacenada en el nodo identificado por pdw_node_id. Cada nodo tiene una tempdb base de datos que contiene 13 archivos. Cada nodo también tiene una base de datos por distribución, y cada base de datos de distribución tiene cinco archivos. Por ejemplo, si cada nodo contiene cuatro distribuciones, los resultados muestran 20 archivos de base de datos de distribución por pdw_node_id.

No se aplica a: SQL Server.
database_id smallint Identificador de la base de datos.

En Azure SQL Database, los valores son únicos dentro de una base de datos única o un grupo elástico, pero no dentro de un servidor lógico.
file_id smallint Identificador del archivo.
sample_ms bigint Número de milisegundos transcurridos desde que se inició el equipo. Esta columna puede usarse para comparar diferentes salidas de esta función.

El tipo de dato es int para SQL Server 2014 (12.x) y versiones anteriores. En estas versiones, el valor se restablecerá a 0 después de aproximadamente 25 días de tiempo de actividad del motor de base de datos continuo.
num_of_reads bigint Número de operaciones de lectura realizadas en el archivo.
num_of_bytes_read bigint Número total de bytes leídos en el archivo.
io_stall_read_ms bigint Tiempo total, en milisegundos, que los usuarios han esperado para que se realicen las lecturas en el archivo.
num_of_writes bigint Número de operaciones de escritura realizadas en este archivo.
num_of_bytes_written bigint Número total de bytes escritos en el archivo.
io_stall_write_ms bigint Tiempo total, en milisegundos, que los usuarios han esperado para que se completen las escrituras en el archivo.
io_stall bigint Tiempo total, en milisegundos, que los usuarios han esperado para que se completen las operaciones de E/S en el archivo.
size_on_disk_bytes bigint Número de bytes utilizados en el disco para este archivo. En el caso de archivos dispersos, este número es el número real de bytes en el disco utilizados para las instantáneas de base de datos.
file_handle varbinary Identificador de archivo de Windows para este archivo.
io_stall_queued_read_ms bigint Latencia total de E/S introducida por la gobernanza de recursos de E/S para las lecturas. No es anulable. Para más información, véase sys.dm_resource_governor_resource_pools.

No se aplica a: SQL Server 2012 (11.x) y versiones anteriores.
io_stall_queued_write_ms bigint Latencia total de E/S introducida por la gobernanza de recursos de E/S para las escrituras. No es anulable.

No se aplica a: SQL Server 2012 (11.x) y versiones anteriores.
pdw_node_id int Identificador del nodo para la distribución.

Se aplica a: Azure Synapse Analytics

Comentarios

Los contadores se inicializan en vacíos cada vez que se inicia el servicio SQL Server (MSSQLSERVER).

Permisos

SQL Server 2019 (15.x) y versiones anteriores requieren VIEW SERVER STATE permiso.

SQL Server 2022 (16.x) y versiones posteriores requieren VIEW SERVER PERFORMANCE STATE permiso en el servidor.

Ejemplos

Los ejemplos de código de este artículo usan la base de datos de ejemplo de AdventureWorks2025 o AdventureWorksDW2025, que puede descargar de la página principal de Ejemplos de Microsoft SQL Server y proyectos de comunidad.

A Devolver estadísticas para un archivo de registro

Aplica a: SQL Server y Azure SQL Database

El siguiente ejemplo devuelve estadísticas para el archivo de registro en la base de datos AdventureWorks2025.

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

B. Devolver estadísticas para el archivo en tempdb

Se aplica a: Azure Synapse Analytics

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