sys.fn_virtualfilestats (Transact-SQL)
Применимо к:база данных
SQL Server Azure SQL Управляемый экземпляр SQL Azure
Возвращает статистику ввода-вывода для файлов базы данных, включая файлы журналов. В 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 | bigint | Отметка времени базы данных, указывающая, когда была получена информация. int в версиях до SQL Server 2016 (13.x). |
NumberReads | bigint | Количество считываний для этого файла. |
BytesRead | bigint | Число считанных из файла байтов. |
IoStallReadMS | bigint | Общее количество времени, в миллисекундах, затраченного пользователями на ожидание выполнения операций чтения из файла. |
NumberWrites | bigint | Количество операций записи для этого файла. |
BytesWritten | bigint | Число байтов, записанных в файл. |
IoStallWriteMS | bigint | Общее количество времени, в миллисекундах, затраченного пользователями на ожидание выполнения операций записи в файл. |
IoStallMS | bigint | Сумма IoStallReadMS и IoStallWriteMS. |
FileHandle | bigint | Значение дескриптора файла. |
BytesOnDisk | bigint | Физический размер файла на диске (в байтах). Для файлов базы данных это то же значение, что и размер в sys.database_files, но выражается в байтах, а не на страницах. Для разреженных файлов моментального снимка базы данных это пространство, используемое операционной системой для данного файла. |
Комментарии
fn_virtualfilestats — это системная функция с табличным значением, которая предоставляет статистические сведения, например общее количество операций ввода-вывода, выполненных в файле. Эту функцию можно использовать для контроля времени, затрачиваемого пользователями на ожидание выполнения чтения или записи в файл. Эта функция также помогает выявить файлы, над которыми выполняется много операций ввода-вывода.
Разрешения
необходимо разрешение VIEW SERVER STATE на сервере.
Примеры
A. Просмотр статистической информации для базы данных
В следующем примере выводится статистическая информация для идентификатора файла 1 в базе данных с идентификатором 1
.
SELECT *
FROM fn_virtualfilestats(1, 1);
GO
Б. Просмотр статистической информации для именованной базы данных и файла
В следующем примере отображаются статистические сведения для файла журнала в образце базы данных AdventureWorks2022. Системная функция DB_ID
используется для указания параметра database_id .
SELECT *
FROM fn_virtualfilestats(DB_ID(N'AdventureWorks2022'), 2);
GO
В. Просмотр статистической информации для всех баз данных и файлов
В следующем примере отображаются статистические сведения для всех файлов во всех базах данных в экземпляре SQL Server.
SELECT *
FROM fn_virtualfilestats(NULL,NULL);
GO
См. также:
DB_ID (Transact-SQL)
FILE_IDEX (Transact-SQL)
sys.database_files (Transact-SQL)
sys.master_files (Transact-SQL)