sys.dm_io_virtual_file_stats (Transact-SQL)
適用于:SQL Server
Azure SQL資料庫
Azure SQL 受控執行個體
Azure Synapse Analytics Analytics
Platform System (PDW)
傳回資料和記錄檔的 I/O 統計資料。 這個動態管理功能會取代 fn_virtualfilestats 函式。
注意
若要從 Azure Synapse Analytics 呼叫此專案,請使用名稱sys.dm_pdw_nodes_io_virtual_file_stats。 Azure Synapse Analytics 的無伺服器 SQL 集區不支援此語法。
語法
-- Syntax for SQL Server and Azure SQL Database
sys.dm_io_virtual_file_stats (
{ database_id | NULL },
{ file_id | NULL }
)
-- Syntax for Azure Synapse Analytics
sys.dm_pdw_nodes_io_virtual_file_stats
引數
database_id |空
適用于:SQL Server 2008 (10.0.x) 及更新版本,Azure SQL Database
資料庫的識別碼。 database_id 為 int,沒有預設值。 資料庫的識別碼或 NULL 都是有效的輸入。 指定 Null 時,會傳回 SQL Server 實例中的所有資料庫。
可以指定內建函數 DB_ID。
file_id |空
適用于:SQL Server 2008 (10.0.x) 及更新版本,Azure SQL Database
檔案識別碼。 file_id 為 int,沒有預設值。 有效輸入是檔案的識別碼或 NULL。 如果指定 NULL,則會傳回資料庫中所有的檔案。
您可以指定內建 函式FILE_IDEX ,並參考目前資料庫中的檔案。
傳回的資料表
資料行名稱 | 資料類型 | 描述 |
---|---|---|
database_name | sysname | 不適用於:: SQL Server。 資料庫名稱。 對於 Azure Synapse Analytics,這是儲存在pdw_node_id所識別之節點上的資料庫名稱。 每個節點都有一個具有 13 個檔案的 tempdb 資料庫。 每個節點每個散發也有一個資料庫,而每個散發資料庫都有 5 個檔案。 例如,如果每個節點包含 4 個散發套件,則結果會顯示每個pdw_node_id 20 個散發資料庫檔案。 |
database_id | smallint | 資料庫的識別碼。 |
file_id | smallint | 檔案的識別碼。 |
sample_ms | bigint | 自電腦啟動之後的毫秒數。 此資料行可用來比較此函式的不同輸出。 SQL Server 2008 (10.0.x) 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 | 不適用於: SQL Server 2008 (10.0.x) 到 2012 SQL Server 2012 (11.x) 。 IO 資源管理針對讀取導入的總 IO 延遲。 不可為 Null。 如需詳細資訊,請參閱 sys.dm_resource_governor_resource_pools (Transact-SQL)。 |
io_stall_queued_write_ms | bigint | 不適用於: SQL Server 2008 (10.0.x) 到 2012 SQL Server 2012 (11.x) 。 IO 資源管理針對寫入導入的總 IO 延遲。 不可為 Null。 |
pdw_node_id | int | 適用于:Azure Synapse 散發節點的分析識別碼。 |
備註
每當啟動 MSSQLSERVER SQL Server () 服務時,計數器就會初始化為空白。
權限
需要 VIEW SERVER STATE 權限。 如需詳細資訊,請參閱 Dynamic Management Views and Functions (Transact-SQL) 。
範例
A. 傳回記錄檔的統計資料
適用于:SQL Server 2008 (10.0.x) 及更新版本,Azure SQL Database
下列範例會傳回 AdventureWorks2019 資料庫中記錄檔的統計資料。
SELECT * FROM sys.dm_io_virtual_file_stats(DB_ID(N'AdventureWorks2012'), 2);
GO
B. 傳回 tempdb 中檔案的統計資料
適用于:Azure Synapse Analytics
SELECT * FROM sys.dm_pdw_nodes_io_virtual_file_stats
WHERE database_name = 'tempdb' AND file_id = 2;
另請參閱
動態管理檢視和函數 (Transact-SQL)
I O 相關的動態管理檢視和函式 (Transact-SQL)
sys.database_files (Transact-SQL)
sys.master_files (Transact-SQL)