fn_virtualfilestats (Transact-SQL)

Retorna estatísticas de E/S para arquivos de banco de dados, incluindo arquivos de log. No SQL Server, estas informações também estão disponíveis a partir da exibição de gerenciamento dinâmico sys.dm_io_virtual_file_stats.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

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

Argumentos

  • database_id | NULL
    É o ID do banco de dados. database_id é int, sem padrão. Especifique NULL para retornar informações de todos os bancos de dados na instância do SQL Server.

  • file_id | NULL
    É o ID do arquivo. file_id é int, sem padrão. Especifique NULL para retornar informações de todos os arquivos do banco de dados.

Tabela retornada

Nome da coluna

Tipo de dados

Descrição

DbId

smallint

ID do banco de dados.

FileId

smallint

ID do arquivo.

TimeStamp

int

Carimbo de data/hora do banco de dados do qual os dados foram obtidos.

NumberReads

bigint

Número de leituras emitidas no arquivo.

BytesRead

bigint

Número de bytes lidos emitidos no arquivo.

IoStallReadMS

bigint

Período de tempo total, em milissegundos, que os usuários esperaram pela conclusão das E/Ss de leitura no arquivo.

NumberWrites

bigint

Número de gravações feitas no arquivo.

BytesWritten

bigint

Número de bytes gravados no arquivo.

IoStallWriteMS

bigint

Período de tempo total, em milissegundos, que os usuários esperaram pela conclusão das E/Ss de gravação no arquivo.

IoStallMS

bigint

Soma de IoStallReadMS e IoStallWriteMS.

FileHandle

bigint

Valor do identificador de arquivo.

BytesOnDisk

bigint

Tamanho do arquivo físico (contagem de bytes) em disco.

Para arquivos de banco de dados, esse é o mesmo valor que size em sys.database_files, mas é expresso em bytes, em vez de páginas.

Para arquivos esparsos de instantâneo do banco de dados, este é o espaço que o sistema operacional está usando para o arquivo.

Comentários

fn_virtualfilestats é uma função de sistema com valor de tabela que fornece informações estatísticas, como o número total de E/Ss executadas em um arquivo. Você pode usar essa função para ajudar a manter o controle do período de tempo que os usuários esperaram para ler ou gravar em um arquivo. A função também ajuda a identificar os arquivos que encontram grande quantidade de atividade de E/S.

Permissões

Requer permissão VIEW SERVER STATE no servidor.

Exemplos

A. Exibindo informações estatísticas para um banco de dados

O exemplo a seguir exibe informações estatísticas para o ID de arquivo 1 no banco de dados com um ID 1.

SELECT *
FROM fn_virtualfilestats(1, 1);
GO

B. Exibindo informações estatísticas para um banco de dados e arquivo nomeados

O exemplo a seguir exibe informações estatísticas para o arquivo de log no banco de dados de exemplo AdventureWorks2008R2. A função de sistema DB_ID é usada para especificar o parâmetro database_id.

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

C. Exibindo informações estatísticas para todos os bancos de dados e arquivos

O exemplo a seguir exibe informações estatísticas para todos os arquivos em todos os bancos de dados na instância do SQL Server.

SELECT *
FROM fn_virtualfilestats(NULL,NULL);
GO