sys.dm_io_virtual_file_stats (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics 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 | NULL

適用対象: SQL Server 2008 (10.0.x) 以降、Azure SQL Database

データベースの ID です。 database_id は int であり、既定値はありません。 有効な入力は、データベースの ID 番号または NULL です。 NULL を指定すると、SQL Serverのインスタンス内のすべてのデータベースが返されます。

組み込み関数 DB_ID を指定できます。

file_id | NULL

適用対象: SQL Server 2008 (10.0.x) 以降、Azure SQL Database

ファイルの ID。 file_id は int で、既定値はありません。 有効な入力値は、ファイルの ID 番号または NULL です。 NULL を指定すると、データベース上のすべてのファイルが返されます。

組み込み関数 FILE_IDEX を指定でき、現在のデータベース内のファイルを参照します。

返されるテーブル

列名 データ型 説明
database_name sysname 適用対象: : SQL Server。

データベース名。

Azure Synapse Analytics の場合、これは、pdw_node_idによって識別されるノードに格納されているデータベースの名前です。 各ノードには、13 個のファイルを含む 1 つの tempdb データベースがあります。 各ノードにはディストリビューションごとに 1 つのデータベースがあり、各ディストリビューション データベースには 5 つのファイルがあります。 たとえば、各ノードに 4 つのディストリビューションが含まれている場合、結果には、pdw_node_idあたり 20 個のディストリビューション データベース ファイルが表示されます。
database_id smallint データベースの ID。

Azure SQL Database では、値は 1 つのデータベースまたはエラスティック プール内で一意ですが、論理サーバー内では一意ではありません。
file_id smallint ファイルの ID。
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)