sys.fn_virtualfilestats (Transact-SQL)
Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure
Возвращает статистику ввода-вывода для файлов базы данных, включая файлы журналов. В SQL Server эти сведения также доступны в sys.dm_io_virtual_file_stats динамическом представлении управления.
Соглашения о синтаксисе Transact-SQL
Синтаксис
fn_virtualfilestats ( { database_id | NULL } , { file_id | NULL } )
Аргументы
database_id | НЕДЕЙСТВИТЕЛЬНЫЙ
Идентификатор базы данных. Аргумент database_id имеет тип int и не имеет значения по умолчанию. Укажите ЗНАЧЕНИЕ NULL для возврата сведений для всех баз данных в экземпляре SQL Server.
file_id | НЕДЕЙСТВИТЕЛЬНЫЙ
Идентификатор файла. file_id не используется без значения по умолчанию. Чтобы получить сведения обо всех файлах в базе данных, укажите значение NULL.
Возвращаемая таблица
Имя столбца | Тип данных | Description |
---|---|---|
DbId | smallint | Идентификатор базы данных. |
FileId | smallint | Идентификатор файла. |
Метка времени | 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 на сервере.
Примеры
А. Просмотр статистической информации для базы данных
В следующем примере выводится статистическая информация для идентификатора файла 1 в базе данных с идентификатором 1
.
SELECT *
FROM fn_virtualfilestats(1, 1);
GO
B. Просмотр статистической информации для именованной базы данных и файла
В следующем примере отображаются статистические сведения для файла журнала в примере базы данных AdventureWorks2022. Системная функция DB_ID
используется для указания параметра database_id .
SELECT *
FROM fn_virtualfilestats(DB_ID(N'AdventureWorks2022'), 2);
GO
C. Просмотр статистической информации для всех баз данных и файлов
В следующем примере отображаются статистические сведения обо всех файлах во всех базах данных в экземпляре 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)