fn_virtualfilestats (Transact-SQL)

Restituisce le statistiche di I/O per i file di database, compresi i file di log. In SQL Server queste informazioni sono inoltre disponibili nella vista a gestione dinamica sys.dm_io_virtual_file_stats.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

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

Argomenti

  • database_id | NULL
    ID del database. database_id è di tipo int e non prevede alcun valore predefinito. Specificare NULL per restituire informazioni per tutti i database presenti nell'istanza di SQL Server.

  • file_id | NULL
    ID del file. file_id è di tipo int e non prevede alcun valore predefinito. Specificare NULL per restituire informazioni per tutti i file del database.

Tabella restituita

Nome colonna

Tipo di dati

Descrizione

DbId

smallint

ID del database.

FileId

smallint

ID del file.

TimeStamp

int

Timestamp del prelevamento dei dati.

NumberReads

bigint

Numero di letture eseguite nel file.

BytesRead

bigint

Numero di letture di byte eseguite nel file.

IoStallReadMS

bigint

Periodo di tempo totale, in millisecondi, durante il quale gli utenti attendono il completamento delle operazioni di lettura I/O nel file.

NumberWrites

bigint

Numero di scritture eseguite nel file.

BytesWritten

bigint

Numero di scritture di byte eseguite nel file.

IoStallWriteMS

bigint

Periodo di tempo totale, in millisecondi, durante il quale gli utenti attendono il completamento delle operazioni di scrittura I/O nel file.

IoStallMS

bigint

Somma di IoStallReadMS e IoStallWriteMS.

FileHandle

bigint

Valore dell'handle di file.

BytesOnDisk

bigint

Dimensioni fisiche del file (numero di byte) su disco.

Per i file di database corrisponde al valore di size in sys.database_files, ma è espresso in byte anziché in pagine.

Per i file sparse di snapshot del database, è lo spazio utilizzato dal sistema operativo per il file.

Osservazioni

fn_virtualfilestats è una funzione valutata a livello di tabella di sistema che fornisce informazioni statistiche, quali il numero totale di operazioni di I/O eseguite in un file. Questa funzione consente di tenere traccia della durata dell'attesa da parte degli utenti per la lettura o la scrittura in un file. Consente inoltre di identificare i file in cui si verifica un elevato numero di operazioni di I/O.

Autorizzazioni

È richiesta l'autorizzazione VIEW SERVER STATE nel server.

Esempi

A. Visualizzazione di informazioni statistiche per un database

Nell'esempio seguente vengono visualizzate informazioni statistiche per il file con ID 1 nel database con ID 1.

SELECT *
FROM fn_virtualfilestats(1, 1);
GO

B. Visualizzazione di informazioni statistiche per un database e un file con nome

Nell'esempio seguente vengono visualizzate informazioni statistiche per il file di log nel database di esempio AdventureWorks. Viene utilizzata la funzione di sistema DB_ID per specificare il parametro database_id.

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

C. Visualizzazione di informazioni statistiche per tutti i database e i file

Nell'esempio seguente vengono visualizzate informazioni statistiche per tutti i file di tutti i database nell'istanza di SQL Server.

SELECT *
FROM fn_virtualfilestats(NULL,NULL);
GO