Поделиться через


fn_virtualfilestats (Transact-SQL)

Возвращает статистику ввода-вывода для файлов базы данных, включая файлы журналов. В SQL Server эти сведения также доступны из динамического административного представления sys.dm_io_virtual_file_stats.

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

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

Аргументы

  • database_id | NULL
    Идентификатор базы данных. Аргумент database_id имеет тип int и не имеет значения по умолчанию. Чтобы получить сведения обо всех базах данных в экземпляре SQL Server, укажите значение NULL.

  • file_id | NULL
    Идентификатор файла. Аргумент file_id имеет тип int и не имеет значения по умолчанию. Чтобы получить сведения обо всех файлах в базе данных, укажите значение NULL.

Возвращаемые таблицы

Имя столбца

Тип данных

Описание

DbId

smallint

Идентификатор базы данных.

FileId

smallint

Идентификатор файла.

TimeStamp

int

Временная метка базы данных, указывающая, когда была получена информация.

NumberReads

bigint

Количество считываний для этого файла.

BytesRead

bigint

Число считанных из файла байтов.

IoStallReadMS

bigint

Общее количество времени, в миллисекундах, затраченного пользователями на ожидание выполнения операций чтения из файла.

NumberWrites

bigint

Количество операций записи для этого файла.

BytesWritten

bigint

Число байтов, записанных в файл.

IoStallWriteMS

bigint

Общее количество времени, в миллисекундах, затраченного пользователями на ожидание выполнения операций записи в файл.

IoStallMS

bigint

Сумма значений IoStallReadMS и IoStallWriteMS.

FileHandle

bigint

Значение дескриптора файла.

BytesOnDisk

bigint

Физический размер файла на диске (в байтах).

Для файлов базы данных этот размер совпадает с size в sys.database_files, но выражается в байтах, а не в страницах.

Для разреженных файлов моментального снимка базы данных это пространство, используемое операционной системой для данного файла.

Замечания

Функция fn_virtualfilestats — это системная функция, возвращающая табличное значение, которая дает статистическую информацию, например общее количество операций ввода-вывода, выполненных над файлом. Эту функцию можно использовать для контроля времени, затрачиваемого пользователями на ожидание выполнения чтения или записи в файл. Эта функция также помогает выявить файлы, над которыми выполняется много операций ввода-вывода.

Разрешения

Необходимо разрешение VIEW SERVER STATE на сервере.

Примеры

А. Просмотр статистической информации для базы данных

В следующем примере выводится статистическая информация для идентификатора файла 1 в базе данных с идентификатором 1.

SELECT *
FROM fn_virtualfilestats(1, 1);
GO

Б. Просмотр статистической информации для заданной базы данных и файла

В следующем примере выводятся статистические данные для файла журнала в образце базы данных AdventureWorks. Системная функция DB_ID используется для указания параметра database_id.

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

В. Просмотр статистической информации для всех баз данных и файлов

В следующем примере выводится статистическая информация для всех файлов во всех базах данных экземпляра SQL Server.

SELECT *
FROM fn_virtualfilestats(NULL,NULL);
GO