fn_virtualfilestats (Transact-SQL)
Возвращает статистику ввода-вывода для файлов базы данных, включая файлы журналов. В SQL Server эти сведения также доступны из динамического административного представления sys.dm_io_virtual_file_stats.
Синтаксис
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