Compartir a través de


sys.fn_virtualfilestats (Transact-SQL)

Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance

Devuelve las estadísticas de E/S de los archivos de las bases de datos, incluidos los archivos de registro. En SQL Server, esta información también está disponible en la vista de administración dinámica de sys.dm_io_virtual_file_stats .

Convenciones de sintaxis de Transact-SQL

Sintaxis

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

Argumentos

database_id | NULO
Es el Id. de la base de datos. database_id es de tipo int y no tiene ningún valor predeterminado. Especifique NULL para devolver información para todas las bases de datos de la instancia de SQL Server.

file_id | NULO
Identificador del archivo. file_id es int, sin ningún valor predeterminado. Especifique NULL para devolver información de todos los archivos de la base de datos.

Tabla devuelta

Nombre de la columna Tipo de datos Descripción
DbId smallint Id. de la base de datos.
FileId smallint Identificador de archivo.
Timestamp bigint Marca de tiempo de la base de datos en la que se obtuvieron los datos. int en versiones anteriores a SQL Server 2016 (13.x).
NumberReads bigint Número de operaciones de lectura realizadas en el archivo.
BytesRead bigint Número de bytes leídos emitidos en el archivo.
IoStallReadMS bigint Tiempo total, en milisegundos, que los usuarios han esperado para que finalicen las E/S de lectura en el archivo.
NumberWrites bigint Número de operaciones de escritura realizadas en el archivo.
BytesWritten bigint Número de bytes escritos en el archivo.
IoStallWriteMS bigint Tiempo total, en milisegundos, que los usuarios han esperado para que finalicen las E/S de escritura en el archivo.
IoStallMS bigint Suma de IoStallReadMS e IoStallWriteMS.
FileHandle bigint Valor del identificador de archivos.
BytesOnDisk bigint Tamaño físico del archivo (recuento de bytes) en disco.

En el caso de los archivos de base de datos, este es el mismo valor que el tamaño en sys.database_files, pero se expresa en bytes en lugar de en páginas.

En los archivos dispersos de instantáneas de base de datos, se trata del espacio que utiliza el sistema operativo para el archivo.

Comentarios

fn_virtualfilestats es una función con valores de tabla del sistema que proporciona información estadística, como el número total de E/S realizadas en un archivo. Puede utilizarse esta función como ayuda para realizar un seguimiento del tiempo que los usuarios tienen que esperar para leer un archivo o escribir en él. La función también ayuda a identificar los archivos que tienen mucha actividad de E/S.

Permisos

es necesario contar con el permiso VIEW SERVER STATE en el servidor.

Ejemplos

A Mostrar información estadística de una base de datos

En el siguiente ejemplo se muestra información estadística del archivo con Id. 1 de la base de datos con un Id. de 1.

SELECT *  
FROM fn_virtualfilestats(1, 1);  
GO  

B. Mostrar información estadística de una base de datos y un archivo con nombre

En el ejemplo siguiente se muestra información estadística del archivo de registro en la base de datos de ejemplo AdventureWorks2022. La función DB_ID del sistema se usa para especificar el parámetro database_id .

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

C. Mostrar información estadística de todas las bases de datos y todos los archivos

En el ejemplo siguiente se muestra información estadística de todos los archivos de todas las bases de datos de la instancia de SQL Server.

SELECT *  
FROM fn_virtualfilestats(NULL,NULL);  
GO  

Consulte también

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