sys.dm_io_virtual_file_stats (Transact-SQL)

Aplicá-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPDW (Analytics Platform System)

Retorna estatísticas de E/S para arquivos de dados e de log. Essa função de gerenciamento dinâmico substitui a função fn_virtualfilestats .

Observação

Para chamar isso do Azure Synapse Analytics, use o nome sys.dm_pdw_nodes_io_virtual_file_stats. Não há suporte a essa sintaxe para o pool de SQL sem servidor no Azure Synapse Analytics.

Sintaxe

-- 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

Argumentos

database_id | NULL

Aplica-se a: SQL Server 2008 (10.0.x) e versões posteriores, Banco de Dados SQL do Azure

ID do banco de dados. database_id é int, sem padrão. São entradas válidas o número de ID de um banco de dados ou NULL. Quando NULL é especificado, todos os bancos de dados na instância de SQL Server são retornados.

A função interna DB_ID pode ser especificada.

file_id | NULL

Aplica-se a: SQL Server 2008 (10.0.x) e versões posteriores, Banco de Dados SQL do Azure

ID do arquivo. file_id é int, sem padrão. São entradas válidas o número de ID de um arquivo ou NULL. Quando NULL for especificado, serão retornados todos os arquivos do banco de dados.

A função interna FILE_IDEX pode ser especificada e refere-se a um arquivo no banco de dados atual.

Tabela retornada

Nome da coluna Tipo de dados Descrição
database_name sysname Não se aplica a:: SQL Server.

Nome do banco de dados.

Para Azure Synapse Analytics, esse é o nome do banco de dados armazenado no nó que é identificado por pdw_node_id. Cada nó tem um banco de dados tempdb que tem 13 arquivos. Cada nó também tem um banco de dados por distribuição e cada banco de dados de distribuição tem cinco arquivos. Por exemplo, se cada nó contiver 4 distribuições, os resultados mostrarão 20 arquivos de banco de dados de distribuição por pdw_node_id.
database_id smallint ID do banco de dados.

Em SQL do Azure Banco de Dados, os valores são exclusivos em um único banco de dados ou um pool elástico, mas não dentro de um servidor lógico.
file_id smallint ID de arquivo.
sample_ms bigint Número de milissegundos desde que o computador foi iniciado. Essa coluna pode ser usada para comparar saídas diferentes dessa função.

O tipo de dados é int para SQL Server 2008 (10.0.x) até SQL Server 2014 (12.x). Nessas versões, o valor será redefinido para 0 após aproximadamente 25 dias de tempo de atividade contínuo do mecanismo de banco de dados.
num_of_reads bigint Número de leituras emitidas no arquivo.
num_of_bytes_read bigint Número total de bytes lidos no arquivo.
io_stall_read_ms bigint Tempo total, em milissegundos, que os usuários aguardaram pelas leituras emitidas no arquivo.
num_of_writes bigint Número de gravações feitas no arquivo.
num_of_bytes_written bigint Número total de bytes gravados no arquivo.
io_stall_write_ms bigint Tempo total, em milissegundos, que os usuários aguardaram até o término das gravações no arquivo.
io_stall bigint Tempo total, em milissegundos, que os usuários aguardaram até o término de E/S no arquivo.
size_on_disk_bytes bigint Número de bytes do disco usado por esse arquivo. No caso de arquivos esparsos, esse número é o número real de bytes do disco que é utilizado para os instantâneos do banco de dados.
file_handle varbinary Identificador de arquivo do Windows desse arquivo.
io_stall_queued_read_ms bigint Não se aplica a:: SQL Server 2008 (10.0.x) até SQL Server 2012 (11.x).

Latência total de E/S apresentada pela administração do recurso de E/S para leituras. Não permite valor nulo. Para obter mais informações, confira sys.dm_resource_governor_resource_pools (Transact-SQL).
io_stall_queued_write_ms bigint Não se aplica a:: SQL Server 2008 (10.0.x) até SQL Server 2012 (11.x).

Latência total de E/S apresentada pela administração do recurso de E/S para gravações. Não permite valor nulo.
pdw_node_id int Aplica-se a: Azure Synapse Identificador de Análise

do nó para a distribuição.

Comentários

Os contadores são inicializados como vazios sempre que o serviço SQL Server (MSSQLSERVER) é iniciado.

Permissões

Requer a permissão VIEW SERVER STAT. Para obter mais informações, consulte Exibições e funções de gerenciamento dinâmico (Transact-SQL).

Permissões do SQL Server 2022 e posteriores

É necessária a permissão VIEW SERVER PERFORMANCE STATE no servidor.

Exemplos

a. Retornar estatísticas para um arquivo de log

Aplica-se a: SQL Server 2008 (10.0.x) e versões posteriores, Banco de Dados SQL do Azure

O exemplo a seguir retorna estatísticas para o arquivo de log no banco de dados AdventureWorks2022.

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

B. Retornar estatísticas para o arquivo em tempdb

Aplica-se a: Azure Synapse Analytics

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

Confira também

Exibições e funções de gerenciamento dinâmico (Transact-SQL)
Funções e exibições de gerenciamento dinâmico relacionadas à E/S (Transact-SQL)
sys.database_files (Transact-SQL)
sys.master_files (Transact-SQL)