sys.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 и не имеет значения по умолчанию. Укажите значение NULL, чтобы получить сведения для всех баз данных в экземпляре SQL Server.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
Б.Просмотр статистической информации для именованной базы данных и файла
В следующем примере выводятся статистические данные для файла журнала в образце базы данных AdventureWorks2012. Системная функция DB_ID используется для указания параметра database_id.
SELECT *
FROM fn_virtualfilestats(DB_ID(N'AdventureWorks2012'), 2);
GO
В.Просмотр статистической информации для всех баз данных и файлов
В следующем примере выводится статистическая информация для всех файлов во всех базах данных экземпляра SQL Server.
SELECT *
FROM fn_virtualfilestats(NULL,NULL);
GO