fn_virtualfilestats (Transact-SQL)

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 sys.dm_io_virtual_file_stats.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

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

Argumentos

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

  • file_id | NULL
    Es el identificador del archivo. file_id es de tipo int y no tiene valor predeterminado. Especifique NULL para devolver información de todos los archivos de la base de datos.

Tabla devuelta

Nombre de columna

Tipo de datos

Descripción

DbId

smallint

Id. de la base de datos.

FileId

smallint

Id. del archivo.

TimeStamp

int

Marca de tiempo de la base de datos de la que se obtuvieron los datos.

NumberReads

bigint

Número de operaciones de lectura emitidas 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 los archivos de base de datos, se trata del mismo valor que el de size de sys.database_files, aunque se expresa en bytes en lugar de en páginas.

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

Notas

fn_virtualfilestats es una función con valores de tabla del sistema que ofrece información estadística, como el número total de operaciones 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

Necesita 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 siguiente ejemplo se muestra información estadística del archivo de registro de la base de datos de ejemplo AdventureWorks. La función del sistema DB_ID se utiliza para especificar el parámetro database_id.

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

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

En el siguiente ejemplo 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