Partilhar via


sys.fn_virtualfilestats (Transact-SQL)

Aplica-se a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBase de dados SQL no Microsoft Fabric

Devolve estatísticas de E/S para ficheiros de base de dados, incluindo ficheiros de registo. No SQL Server, esta informação também está disponível na vista de gestão dinâmica sys.dm_io_virtual_file_stats .

Transact-SQL convenções de sintaxe

Sintaxe

  
fn_virtualfilestats ( { database_id | NULL } , { file_id | NULL } )  

Arguments

database_id | NULL
É o ID da base de dados. database_id é int, sem padrão. Especifique NULL para devolver informação para todas as bases de dados na instância do SQL Server.

file_id | NULL
É o ID do ficheiro. file_id é inteligência, sem padrão. Especifique NULL para devolver informação de todos os ficheiros na base de dados.

Tabela retornada

Nome da Coluna Tipo de dados Description
DbId smallint ID da base de dados.
Id do arquivo smallint ID do ficheiro.
Carimbo de data/hora bigint Carimbo temporal da base de dados em que os dados foram recolhidos. int em versões anteriores ao SQL Server 2016 (13.x).
NumberReads bigint Número de leituras emitidas no ficheiro.
BytesRead bigint Número de bytes lidos emitidos no ficheiro.
IoStallReadMS bigint Tempo total, em milissegundos, em que os utilizadores esperaram que as I/O de leitura terminassem no ficheiro.
NumberWrites bigint Número de escritas feitas no ficheiro.
BytesWritten bigint Número de bytes escritos feitos no ficheiro.
IoStallWriteMS bigint Tempo total, em milissegundos, em que os utilizadores esperaram que as I/S de escrita fossem concluídas no ficheiro.
IoStallMS bigint Soma de IoStallReadMS e IoStallWriteMS.
FileHandle bigint Valor do handle do ficheiro.
BytesOnDisk bigint Tamanho físico do ficheiro (contagem de bytes) no disco.

Para ficheiros de base de dados, este é o mesmo valor que o tamanho em sys.database_files, mas é expresso em bytes em vez de páginas.

Para ficheiros esparsos de snapshots de base de dados, este é o espaço que o sistema operativo utiliza para o ficheiro.

Observações

fn_virtualfilestats é uma função com valores de tabela do sistema que fornece informação estatística, como o número total de E/S realizadas num ficheiro. Pode usar esta função para ajudar a acompanhar o tempo que os utilizadores têm de esperar para ler ou escrever num ficheiro. A função também ajuda a identificar os ficheiros que enfrentam um grande número de atividade de E/S.

Permissions

Requer permissão VER ESTADO DO SERVIDOR no servidor.

Examples

A. Apresentação de informação estatística para uma base de dados

O exemplo seguinte apresenta informação estatística para o ID do ficheiro 1 na base de dados com um ID de 1.

SELECT *  
FROM fn_virtualfilestats(1, 1);  
GO  

B. Exibição de informação estatística para uma base de dados e ficheiro nomeados

O exemplo seguinte apresenta informação estatística para o ficheiro de registo na base de dados de exemplo AdventureWorks2025. A função DB_ID do sistema é usada para especificar o parâmetro database_id .

SELECT *  
FROM fn_virtualfilestats(DB_ID(N'AdventureWorks2022'), 2);  
GO  

C. Exibição de informação estatística para todas as bases de dados e ficheiros

O exemplo seguinte apresenta informação estatística para todos os ficheiros em todas as bases de dados na instância do SQL Server.

SELECT *  
FROM fn_virtualfilestats(NULL,NULL);  
GO  

Ver também

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