Condividi tramite


sys.dm_io_virtual_file_stats (Transact-SQL)

Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Piattaforma di strumenti analitici (PDW)

Restituisce le statistiche di I/O per i file di log e di dati. Questa funzione di gestione dinamica sostituisce la funzione fn_virtualfilestats .

Nota

Per chiamare questa operazione da Azure Synapse Analytics, usare il nome sys.dm_pdw_nodes_io_virtual_file_stats. Questa sintassi non è supportata da pool SQL serverless in Azure Synapse Analytics.

Sintassi

-- Syntax for SQL Server and Azure SQL Database

sys.dm_io_virtual_file_stats (   
    { database_id | NULL },  
    { file_id | NULL }  
)  
-- Syntax for Azure Synapse Analytics

sys.dm_pdw_nodes_io_virtual_file_stats

Argomenti

database_id | NULL

Si applica a: SQL Server 2008 (10.0.x) e versioni successive, database SQL di Azure

ID del database. database_id è int, senza impostazione predefinita. Gli input validi sono il numero di ID di un database o NULL. Quando si specifica NULL, vengono restituiti tutti i database nell'istanza di SQL Server.

È possibile specificare la funzione predefinita DB_ID.

file_id | NULL

Si applica a: SQL Server 2008 (10.0.x) e versioni successive, database SQL di Azure

ID del file. file_id è int, senza impostazione predefinita. Gli input validi sono il numero di ID di un file o NULL. Se si specifica NULL, vengono restituiti tutti i file nel database.

È possibile specificare la funzione predefinita FILE_IDEX e fa riferimento a un file nel database corrente.

Tabella restituita

Nome colonna Tipo di dati Descrizione
database_name sysname Non si applica a:: SQL Server.

Nome database.

Per Azure Synapse Analytics, si tratta del nome del database archiviato nel nodo identificato da pdw_node_id. Ogni nodo ha un database tempdb con 13 file. Ogni nodo ha anche un database per distribuzione e ogni database di distribuzione ha 5 file. Ad esempio, se ogni nodo contiene 4 distribuzioni, i risultati mostrano 20 file di database di distribuzione per pdw_node_id.
database_id smallint ID del database.

In database SQL di Azure i valori sono univoci all'interno di un database singolo o di un pool elastico, ma non all'interno di un server logico.
file_id smallint ID di file.
sample_ms bigint Numero di millisecondi dall'avvio del computer. Questa colonna può essere usata per confrontare output diversi da questa funzione.

Il tipo di dati è int per SQL Server 2008 (10.0.x) fino a SQL Server 2014 (12.x). In queste versioni, il valore verrà reimpostato su 0 dopo circa 25 giorni di tempo di attività continuo del motore di database.
num_of_reads bigint Numero di letture eseguite nel file.
num_of_bytes_read bigint Numero totale di byte letti nel file.
io_stall_read_ms bigint Tempo totale di attesa degli utenti, in millisecondi, per il completamento delle operazioni di lettura nel file.
num_of_writes bigint Numero di scritture eseguite nel file.
num_of_bytes_written bigint Numero totale di byte scritti nel file.
io_stall_write_ms bigint Tempo totale di attesa degli utenti, in millisecondi, per il completamento delle operazioni di scrittura nel file.
io_stall bigint Tempo totale di attesa degli utenti, in millisecondi, per il completamento delle operazioni di I/O nel file.
size_on_disk_bytes bigint Numero di byte utilizzati nel disco per il file. Per i file sparse, questo numero corrisponde al numero effettivo di byte nel disco utilizzati per gli snapshot di database.
file_handle varbinary Handle di file Windows per il file.
io_stall_queued_read_ms bigint Non si applica a:: SQL Server 2008 (10.0.x) fino a SQL Server 2012 (11.x).

Latenza di I/O totale introdotta dalla governance delle risorse di I/O per le letture. Non ammette i valori Null. Per altre informazioni, vedere sys.dm_resource_governor_resource_pools (Transact-SQL).
io_stall_queued_write_ms bigint Non si applica a:: SQL Server 2008 (10.0.x) fino a SQL Server 2012 (11.x).

Latenza di I/O totale introdotta dalla governance delle risorse di I/O per le scritture. Non ammette i valori Null.
pdw_node_id int Si applica a: Identificatore di Azure Synapse Analytics

del nodo per la distribuzione.

Osservazioni:

I contatori vengono inizializzati in modo vuoto ogni volta che viene avviato il servizio SQL Server (MSSQLSERVER).

Autorizzazioni

È richiesta l'autorizzazione VIEW SERVER STATE. Per altre informazioni, vedere Funzioni e viste a gestione dinamica (Transact-SQL).

Autorizzazioni per SQL Server 2022 e versioni successive

È richiesta l'autorizzazione VIEW SERVER PERFORMANCE STATE per il server.

Esempi

R. Restituire statistiche per un file di log

Si applica a: SQL Server 2008 (10.0.x) e versioni successive, database SQL di Azure

Nell'esempio seguente vengono restituite statistiche per il file di log nel database AdventureWorks2022.

SELECT * FROM sys.dm_io_virtual_file_stats(DB_ID(N'AdventureWorks2022'), 2);  
GO  

B. Restituire statistiche per il file in tempdb

Si applica a: Azure Synapse Analytics

SELECT * FROM sys.dm_pdw_nodes_io_virtual_file_stats 
WHERE database_name = 'tempdb' AND file_id = 2;

Vedi anche

Funzioni a gestione dinamica e DMV (Transact-SQL)
Funzioni e viste a gestione dinamica correlate a I O (Transact-SQL)
sys.database_files (Transact-SQL)
sys.master_files (Transact-SQL)