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 | 資料庫的標識碼。 在 Azure SQL 資料庫中,這些值在單一資料庫或彈性集區內是唯一的,但在邏輯伺服器內則不是唯一的。 |
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) 到 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) 到 SQL Server 2012 (11.x)。 IO 資源控管針對寫入所引進的總 IO 延遲。 不可為 Null。 |
pdw_node_id | int | 適用於: 發佈節點的 Azure Synapse Analytics 識別符。 |
備註
每當啟動 SQL Server (MSSQLSERVER) 服務時,計數器就會初始化為空白。
權限
需要 VIEW SERVER STATE 權限。 如需詳細資訊,請參閱動態管理檢視和函式(Transact-SQL)。
SQL Server 2022 和更新版本的權限
需要伺服器上的 VIEW SERVER PERFORMANCE STATE 權限。
範例
A. 傳回記錄檔的統計數據
適用於:SQL Server 2008 (10.0.x) 與更新版本,以及 Azure SQL Database
下列範例會傳回 AdventureWorks2022 資料庫中記錄檔的統計數據。
SELECT * FROM sys.dm_io_virtual_file_stats(DB_ID(N'AdventureWorks2022'), 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)