共用方式為


sys.dm_io_virtual_file_stats (Transact-SQL)

適用於:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics分析平台系統(PDW)Microsoft Fabric 中的 SQL 資料庫

傳回數據和記錄檔的 I/O 統計數據。 此動態管理函式會 取代 fn_virtualfilestats 函式。

注意

若要從 Azure Synapse Analytics 呼叫此動態管理視圖(DMV),請使用名稱 sys.dm_pdw_nodes_io_virtual_file_stats 此語法在 Azure Synapse Analytics 中不支援無伺服器 SQL 池。

語法

SQL Server 和 Azure SQL Database 的語法:

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_id為 int,沒有預設值。 有效的輸入是資料庫的 ID 編號或 NULL。 當 NULL 指定時,SQL Server 實例中的所有資料庫都會被回傳。

可以指定內建函數 DB_ID

file_id |零

適用於:SQL Server 2008(10.0.x)及以後版本,Azure SQL 資料庫

檔案的標識碼。 file_id為 int,沒有預設值。 有效的輸入是檔案的 ID 編號或 NULL。 當 NULL 指定時,資料庫中的所有檔案都會被回傳。

您可以指定內 建函式FILE_IDEX ,並參考目前資料庫中的檔案。

傳回的資料表

資料行名稱 資料類型 描述
database_name sysname 資料庫名稱。

對於 Azure Synapse Analytics,這是儲存在由 所 pdw_node_id識別節點上的資料庫名稱。 每個節點有一個 tempdb 包含 13 個檔案的資料庫。 每個節點每個發行版也有一個資料庫,每個發行版資料庫有五個檔案。 例如,若每個節點包含四個分布,結果顯示每節點 pdw_node_id有20個分布資料庫檔案。

不適用於:SQL Server。
database_id smallint 資料庫的標識碼。

在 Azure SQL 資料庫中,這些值在單一資料庫或彈性集區內是唯一的,但在邏輯伺服器內則不是唯一的。
file_id smallint 檔案的標識碼。
sample_ms bigint 計算機啟動后的毫秒數。 此欄位可用來比較此函數的不同輸出。

SQL Server 2014(12.x)及更早版本的資料型別為 int 。 在這些版本中,值會在大約 25 天的連續資料庫引擎運行時間之後重設為 0。
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 使用者等候在檔案上完成 I/O 的總時間,以毫秒為單位。
size_on_disk_bytes bigint 此檔案的磁碟上所使用的位元元數目。 對於疏鬆檔案,此數位是磁碟上用於資料庫快照集的實際位元元組數目。
file_handle varbinary 此檔案的 Windows 檔案句柄。
io_stall_queued_read_ms bigint IO 資源控管針對讀取所引進的總 IO 延遲。 不可為空。 欲了解更多資訊,請參閱 sys.dm_resource_governor_resource_pools

不適用於:SQL Server 2012(11.x)及更早版本。
io_stall_queued_write_ms bigint IO 資源控管針對寫入所引進的總 IO 延遲。 不可為空。

不適用於: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 伺服器的許可權。

範例

本文中的程式代碼範例會使用 AdventureWorks2025AdventureWorksDW2025 範例資料庫,您可以從 Microsoft SQL Server 範例和社群專案 首頁下載。

A. 傳回記錄檔的統計數據

適用於:SQL Server 與 Azure SQL 資料庫

以下範例回傳 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;