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.
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
Vedere anche