Compartilhar via


sys.dm_io_virtual_file_stats (Transact-SQL)

Aplica-se a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSistema de Plataforma de Análise (PDW)Banco de dados SQL no Microsoft Fabric

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 esta visão de gerenciamento dinâmico (DMV) do Azure Synapse Analytics, use o nome sys.dm_pdw_nodes_io_virtual_file_stats Esta sintaxe não é suportada pelo pool SQL serverless no Azure Synapse Analytics.

Sintaxe

Sintaxe para SQL Server e Banco de Dados SQL do Azure:

sys.dm_io_virtual_file_stats (
    { database_id | NULL } ,
    { file_id | NULL }
)

Sintaxe para Azure Synapse Analytics:

sys.dm_pdw_nodes_io_virtual_file_stats

Argumentos

database_id | ZERO

Aplica-se a: SQL Server 2008 (10.0.x) e posterior, Azure SQL Database

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

A função interna DB_ID pode ser especificada.

file_id | ZERO

Aplica-se a: SQL Server 2008 (10.0.x) e posterior, Azure SQL Database

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

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 Nome do banco de dados.

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

Não se aplica a: SQL Server.
database_id smallint ID do banco de dados.

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

O tipo de dado é int para SQL Server 2014 (12.x) e versões anteriores. 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 Latência total de E/S apresentada pela administração do recurso de E/S para leituras. Não anulável. Para mais informações, veja sys.dm_resource_governor_resource_pools.

Não se aplica a: SQL Server 2012 (11.x) e versões anteriores.
io_stall_queued_write_ms bigint Latência total de E/S apresentada pela administração do recurso de E/S para gravações. Não anulável.

Não se aplica a: SQL Server 2012 (11.x) e versões anteriores.
pdw_node_id int Identificador do nó para a distribuição.

Aplica-se ao: Azure Synapse Analytics

Comentários

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

Permissões

O SQL Server 2019 (15.x) e versões anteriores exigem VIEW SERVER STATE permissão.

O SQL Server 2022 (16.x) e versões posteriores exigem VIEW SERVER PERFORMANCE STATE permissão no servidor.

Exemplos

Os exemplos de código neste artigo usam o banco de dados de exemplo AdventureWorks2025 ou AdventureWorksDW2025, que você pode baixar na página inicial Microsoft SQL Server Samples and Community Projects.

R. Retornar estatísticas para um arquivo de log

Aplica-se a: SQL Server e Azure SQL Database

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

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

B. Retornar estatísticas para o arquivo em tempdb

Aplica-se ao: Azure Synapse Analytics

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