Partilhar via


sys.dm_io_virtual_file_stats (Transact-SQL)

Aplica-se a:Banco de Dados SQL doAzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsAnalytics Platform System (PDW)Banco de Dados SQL no Microsoft Fabric

Devolve estatísticas de I/O para dados e ficheiros de registo. Esta função de gestão dinâmica substitui a função fn_virtualfilestats .

Observação

Para chamar esta vista de gestão dinâmica (DMV) do Azure Synapse Analytics, use o nome sys.dm_pdw_nodes_io_virtual_file_stats Esta sintaxe não é suportada pelo servidor SQL pool no Azure Synapse Analytics.

Sintaxe

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

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

Sintaxe do Azure Synapse Analytics:

sys.dm_pdw_nodes_io_virtual_file_stats

Arguments

database_id | NULL

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

ID da base de dados. database_id é inteligência, sem padrão. Entradas válidas são o número ID de uma base de dados ou NULL. Quando NULL é especificado, todas as bases de dados na instância do SQL Server são devolvidas.

A função interna DB_ID pode ser especificada.

file_id | NULL

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

ID do ficheiro. file_id é int, sem padrão. Entradas válidas são o número ID de um ficheiro ou NULL. Quando NULL especificado, todos os ficheiros da base de dados são devolvidos.

A função incorporada FILE_IDEX pode ser especificada e refere-se a um ficheiro na base de dados atual.

Tabela retornada

Nome da coluna Tipo de dados Description
database_name sysname Nome do banco de dados.

Para o Azure Synapse Analytics, este é o nome da base de dados armazenada no nó identificado por pdw_node_id. Cada nó tem uma tempdb base de dados que contém 13 ficheiros. Cada nó também tem uma base de dados por distribuição, e cada base de dados de distribuição tem cinco ficheiros. Por exemplo, se cada nó contiver quatro distribuições, os resultados mostram 20 ficheiros de base de dados de distribuição por pdw_node_id.

Não se aplica a: SQL Server.
database_id smallint ID da base de dados.

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

O tipo de dado é int para SQL Server 2014 (12.x) e versões anteriores. Nestas versões, o valor será reiniciado para 0 após aproximadamente 25 dias de tempo de funcionamento contínuo do motor de base de dados.
num_of_reads bigint Número de leituras emitidas no ficheiro.
num_of_bytes_read bigint Número total de bytes lidos neste ficheiro.
io_stall_read_ms bigint Tempo total, em milissegundos, em que os utilizadores esperaram pelas leituras emitidas no ficheiro.
num_of_writes bigint Número de escritas feitas neste ficheiro.
num_of_bytes_written bigint Número total de bytes escritos no ficheiro.
io_stall_write_ms bigint Tempo total, em milissegundos, em que os utilizadores esperaram que as escritas fossem concluídas no ficheiro.
io_stall bigint O tempo total, em milissegundos, em que os utilizadores esperaram que a I/O fosse concluída no ficheiro.
size_on_disk_bytes bigint Número de bytes usados no disco para este ficheiro. Para ficheiros esparsos, este número é o número real de bytes no disco usados para instantâneos na base de dados.
file_handle Varbinary Handle de ficheiro do Windows para este ficheiro.
io_stall_queued_read_ms bigint Latência total de IO introduzida pela governação de recursos de IO para leituras. Não anulável. Para mais informações, consulte 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 IO introduzida pela governação de recursos de IO para escritas. 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

Observações

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

Permissions

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.

Examples

Os exemplos de código neste artigo usam o banco de dados de exemplo AdventureWorks2025 ou AdventureWorksDW2025, que pode ser descarregado da página inicial de Exemplos e Projetos da Comunidade do Microsoft SQL Server.

A. Estatísticas de retorno para um ficheiro de registo

Aplica-se a: SQL Server e Azure SQL Database

O exemplo seguinte devolve estatísticas para o ficheiro de registo na base de dados AdventureWorks2025.

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

B. Estatísticas de retorno para ficheiro 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;