sys.fn_virtualfilestats (Transact-SQL)sys.fn_virtualfilestats (Transact-SQL)

Область применения: ДаSQL Server ДаБаза данных SQL Azure НетAzure Synapse Analytics (Хранилище данных SQL) НетParallel Data Warehouse APPLIES TO: YesSQL Server YesAzure SQL Database NoAzure Synapse Analytics (SQL DW) NoParallel Data Warehouse

Возвращает статистику ввода-вывода для файлов базы данных, включая файлы журналов.Returns I/O statistics for database files, including log files. В SQL ServerSQL Serverэти сведения также доступны в динамическом административном представлении sys. dm_io_virtual_file_stats .In SQL ServerSQL Server, this information is also available from the sys.dm_io_virtual_file_stats dynamic management view.

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

СинтаксисSyntax

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

АргументыArguments

database_id | ЗАКАНЧИВАЮЩdatabase_id | NULL
Идентификатор базы данных.Is the ID of the database. Аргумент database_id имеет тип int и не имеет значения по умолчанию.database_id is int, with no default. Укажите значение NULL, чтобы вернуть сведения для всех баз данных в экземпляре SQL ServerSQL Server.Specify NULL to return information for all databases in the instance of SQL ServerSQL Server.

file_id | ЗАКАНЧИВАЮЩfile_id | NULL
Идентификатор файла.Is the ID of the file. file_id имеет тип intи не имеет значения по умолчанию.file_id is int, with no default. Чтобы получить сведения обо всех файлах в базе данных, укажите значение NULL.Specify NULL to return information for all files in the database.

Возвращаемая таблицаTable Returned

Имя столбцаColumn Name Тип данныхData type ОписаниеDescription
DbIdDbId smallintsmallint Идентификатор базы данных.Database ID.
ИДFileId smallintsmallint Идентификатор файла.File ID.
TimeStampTimeStamp bigintbigint Отметка времени базы данных, указывающая, когда была получена информация.Database timestamp at which the data was taken. int в версиях до SQL Server 2016 (13.x);SQL Server 2016 (13.x).int in versions before SQL Server 2016 (13.x);SQL Server 2016 (13.x).
NumberReadsNumberReads bigintbigint Количество считываний для этого файла.Number of reads issued on the file.
битесреадBytesRead bigintbigint Число считанных из файла байтов.Number of bytes read issued on the file.
иосталлреадмсIoStallReadMS bigintbigint Общее количество времени, в миллисекундах, затраченного пользователями на ожидание выполнения операций чтения из файла.Total amount of time, in milliseconds, that users waited for the read I/Os to complete on the file.
NumberWritesNumberWrites bigintbigint Количество операций записи для этого файла.Number of writes made on the file.
BytesWrittenBytesWritten bigintbigint Число байтов, записанных в файл.Number of bytes written made on the file.
IoStallWriteMSIoStallWriteMS bigintbigint Общее количество времени, в миллисекундах, затраченного пользователями на ожидание выполнения операций записи в файл.Total amount of time, in milliseconds, that users waited for the write I/Os to complete on the file.
IoStallMSIoStallMS bigintbigint Сумма иосталлреадмс и иосталлвритемс.Sum of IoStallReadMS and IoStallWriteMS.
FileHandleFileHandle bigintbigint Значение дескриптора файла.Value of the file handle.
BytesOnDiskBytesOnDisk bigintbigint Физический размер файла на диске (в байтах).Physical file size (count of bytes) on disk.

Для файлов базы данных это значение совпадает с размером в sys. database_files, но выражается в байтах, а не на страницах.For database files, this is the same value as size in sys.database_files, but is expressed in bytes rather than pages.

Для разреженных файлов моментального снимка базы данных это пространство, используемое операционной системой для данного файла.For database snapshot sparse files, this is the space the operating system is using for the file.

RemarksRemarks

fn_virtualfilestats — это системная функция, возвращающая табличное значение, которая предоставляет статистические сведения, например общее количество операций ввода-вывода, выполненных над файлом.fn_virtualfilestats is a system table-valued function that gives statistical information, such as the total number of I/Os performed on a file. Эту функцию можно использовать для контроля времени, затрачиваемого пользователями на ожидание выполнения чтения или записи в файл.You can use this function to help keep track of the length of time users have to wait to read or write to a file. Эта функция также помогает выявить файлы, над которыми выполняется много операций ввода-вывода.The function also helps identify the files that encounter large numbers of I/O activity.

РазрешенияPermissions

необходимо разрешение VIEW SERVER STATE на сервере.Requires VIEW SERVER STATE permission on the server.

ПримерыExamples

A.A. Просмотр статистической информации для базы данныхDisplaying statistical information for a database

В следующем примере выводится статистическая информация для идентификатора файла 1 в базе данных с идентификатором 1.The following example displays statistical information for file ID 1 in the database with an ID of 1.

SELECT *  
FROM fn_virtualfilestats(1, 1);  
GO  

Б)B. Просмотр статистической информации для именованной базы данных и файлаDisplaying statistical information for a named database and file

В следующем примере выводятся статистические данные для файла журнала в образце базы данных AdventureWorks2012AdventureWorks2012.The following example displays statistical information for the log file in the AdventureWorks2012AdventureWorks2012 sample database. Системная функция DB_ID используется для указания параметра database_id .The system function DB_ID is used to specify the database_id parameter.

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

В.C. Просмотр статистической информации для всех баз данных и файловDisplaying statistical information for all databases and files

В следующем примере выводится статистическая информация для всех файлов во всех базах данных экземпляра SQL ServerSQL Server.The following example displays statistical information for all files in all databases in the instance of SQL ServerSQL Server.

SELECT *  
FROM fn_virtualfilestats(NULL,NULL);  
GO  

См. такжеSee Also

DB_ID (Transact-SQL) DB_ID (Transact-SQL)
FILE_IDEX (Transact-SQL) FILE_IDEX (Transact-SQL)
sys. database_files (Transact-SQL) sys.database_files (Transact-SQL)
sys.master_files (Transact-SQL)sys.master_files (Transact-SQL)