Поделиться через


sys.dm_io_virtual_file_stats (Transact-SQL)

Относится к:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsСистема аналитической платформы (PDW)SQL база данных в Microsoft Fabric

Возвращает статистику ввода-вывода для данных и файлов журнала. Эта функция динамического управления заменяет функцию fn_virtualfilestats .

Примечание.

Чтобы назвать этот динамический вид управления (DMV) из Azure Synapse Analytics, используйте имя sys.dm_pdw_nodes_io_virtual_file_stats . Этот синтаксис не поддерживается серверным SQL-пулом в Azure Synapse Analytics.

Синтаксис

Синтаксис для SQL Server и Базы данных SQL Azure:

sys.dm_io_virtual_file_stats (
    { database_id | NULL } ,
    { file_id | NULL }
)

Синтаксис Для Azure Synapse Analytics:

sys.dm_pdw_nodes_io_virtual_file_stats

Аргументы

database_id | НЕДЕЙСТВИТЕЛЬНЫЙ

Применяется к: SQL Server 2008 (10.0.x) и более поздней Azure SQL Database

Идентификатор базы данных. database_id не используется без значения по умолчанию. Допустимые входные данные — это ID-номер базы данных или NULL. При NULL указании возвращаются все базы данных в экземпляре SQL Server.

Можно указать встроенную функцию DB_ID .

file_id | НЕДЕЙСТВИТЕЛЬНЫЙ

Применяется к: SQL Server 2008 (10.0.x) и более поздней Azure SQL Database

Идентификатор файла. file_id не используется без значения по умолчанию. Допустимые входные данные — это ID-номер файла или NULL. Когда NULL указано, все файлы базы данных возвращаются.

Встроенная функция FILE_IDEX может быть указана и ссылается на файл в текущей базе данных.

Таблица возвращена

Имя столбца Тип данных Description
database_name sysname Имя базы данных.

Для Azure Synapse Analytics это имя базы данных, хранящейся на узле, идентифицированном .pdw_node_id Каждый узел имеет одну tempdb базу данных с 13 файлами. Каждый узел также имеет одну базу данных на дистрибутив, а каждая база данных распределения содержит пять файлов. Например, если каждый узел содержит четыре распределения, результаты показывают 20 файлов базы данных распределений на pdw_node_id.

Не относится к: SQL Server.
database_id smallint Идентификатор базы данных.

В База данных SQL Azure значения уникальны в одной базе данных или эластичном пуле, но не в логическом сервере.
file_id smallint Идентификатор файла.
sample_ms bigint Число миллисекунд, прошедших со времени запуска компьютера. Этот столбец можно использовать для сравнения различных выходов этой функции.

Тип данных — int для SQL Server 2014 (12.x) и более ранних версий. В этих версиях значение сбрасывается до 0 после примерно 25 дней непрерывного времени простоя ядра СУБД.
num_of_reads bigint Количество считываний для этого файла.
num_of_bytes_read bigint Общее число байтов, считанных из этого файла.
io_stall_read_ms bigint Общее время задержек считывания файла, в миллисекундах.
num_of_writes bigint Число записей, сделанных в этот файл.
num_of_bytes_written bigint Общее число байтов, записанных в файл.
io_stall_write_ms bigint Общее время задержек выполнения записи в файл, в миллисекундах.
io_stall bigint Общее время задержек выполнения операций чтения-записи над файлом, в миллисекундах.
size_on_disk_bytes bigint Число байтов, используемых файлом на диске. Для разреженных файлов это показывает реальное число байт, занимаемых на диске, которое используется для моментальных снимков базы данных.
file_handle varbinary Дескриптор данного файла в Windows.
io_stall_queued_read_ms bigint Общая задержка ввода-вывода, созданная регулированием ресурсов ввода-вывода для чтения. Не допускает значения NULL. Для получения дополнительной информации см. sys.dm_resource_governor_resource_pools.

Не относится к: SQL Server 2012 (11.x) и более ранним версиям.
io_stall_queued_write_ms bigint Общая задержка ввода-вывода, созданная регулированием ресурсов ввода-вывода для записи. Не допускает значения NULL.

Не относится к: SQL Server 2012 (11.x) и более ранним версиям.
pdw_node_id int Идентификатор узла для распределения.

Область применения: Azure Synapse Analytics

Замечания

Счетчики инициализированы в пустое время при запуске службы SQL Server (MSSQLSERVER).

Разрешения

ДЛЯ SQL Server 2019 (15.x) и более ранних версий требуется VIEW SERVER STATE разрешение.

ДЛЯ SQL Server 2022 (16.x) и более поздних версий требуется VIEW SERVER PERFORMANCE STATE разрешение на сервере.

Примеры

Примеры кода в этой статье используют базу данных образца AdventureWorks2025 или AdventureWorksDW2025, которую можно скачать с домашней страницы образцов и проектов сообщества Microsoft SQL Server и.

А. Возврат статистики для файла журнала

Применимо к: SQL Server и Azure SQL Database

Следующий пример показывает статистику для журнала в базе данных AdventureWorks2025.

SELECT *
FROM sys.dm_io_virtual_file_stats(DB_ID(N'AdventureWorks2025'), 2);

B. Возврат статистики для файла в tempdb

Область применения: Azure Synapse Analytics

SELECT *
FROM sys.dm_pdw_nodes_io_virtual_file_stats
WHERE database_name = 'tempdb'
      AND file_id = 2;