sys.fn_virtualfilestats (Transact-SQL)
Se aplica a: SQL ServerAzure SQL Database Azure SQL Instancia administrada
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)