Share via


sys.fn_virtualfilestats (Transact-SQL)

Si applica a:SQL Server database SQL di Azure Istanza gestita di SQL di Azure

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

Convenzioni di 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 nell'istanza di SQL Server.

file_id | NULL
ID del file. file_id è int, senza impostazione predefinita. 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 di file.
TimeStamp bigint Timestamp del prelevamento dei dati. int nelle versioni precedenti a SQL Server 2016 (13.x).
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, si tratta dello stesso valore delle dimensioni 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 con valori di tabella di sistema che fornisce informazioni statistiche, ad esempio il numero totale di operazioni di I/O eseguite su 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 per il server.

Esempi

R. 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 AdventureWorks2022. La funzione DB_ID di sistema viene usata per specificare il parametro database_id .

SELECT *  
FROM fn_virtualfilestats(DB_ID(N'AdventureWorks2022'), 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 in tutti i database nell'istanza di SQL Server.

SELECT *  
FROM fn_virtualfilestats(NULL,NULL);  
GO  

Vedi anche

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