次の方法で共有


sys.fn_virtualfilestats (Transact-SQL)

適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance

ログ ファイルを含む、データベース ファイルの I/O 統計を返します。 SQL Server では、この情報は sys.dm_io_virtual_file_stats 動的管理ビューからも入手できます。

Transact-SQL 構文表記規則

構文

  
fn_virtualfilestats ( { database_id | NULL } , { file_id | NULL } )  

引数

database_id | NULL
データベースの ID です。 database_id int, 、既定値はありません。 SQL Server のインスタンス内のすべてのデータベースの情報を返すには、NULL を指定します。

file_id | NULL
ファイルの ID を指定します。 file_idint で、既定値はありません。 データベース内のすべてのファイルの情報を返すには、NULL を指定します。

返されるテーブル

列名 データ型 説明
DbId smallint データベース ID。
FileId smallint ファイル ID。
TimeStamp bigint データが取り出されたデータベース タイムスタンプです。 int SQL Server 2016 (13.x) より前のバージョン。
NumberReads bigint ファイルに対して発行された読み取りの数。
BytesRead bigint ファイルに対して発行された読み取りバイト数。
IoStallReadMS bigint ユーザーがファイルで読み取り I/O が完了するまで待機した合計時間 (ミリ秒単位)。
NumberWrites bigint そのファイルで実行された書き込みの数です。
BytesWritten bigint ファイルに書き込まれたバイト数。
IoStallWriteMS bigint ユーザーがファイルの書き込み I/O が完了するまで待機した合計時間 (ミリ秒単位)。
IoStallMS bigint IoStallReadMSIoStallWriteMS の合計。
FileHandle bigint ファイル ハンドルの値。
BytesOnDisk bigint ディスク上の物理ファイル サイズ (バイト数)。

データベース ファイルの場合、これは sys.database_filessize と同じ値ですが、ページではなくバイト単位で表されます。

データベース スナップショット スパース ファイルの場合、これはオペレーティング システムがファイルに使用している領域です。

解説

fn_virtualfilestats は、ファイルに対して実行された I/O の合計数などの統計情報を提供するシステム テーブル値関数です。 この関数を使用すると、ユーザーがファイルの読み取りまたは書き込みを待機する必要がある時間の長さを追跡できます。 この関数は、多数の I/O アクティビティが発生したファイルを識別するのにも役立ちます。

アクセス許可

サーバーに対する VIEW SERVER STATE 権限が必要です。

A. データベースの統計情報を表示する

次の例では、データベース内のファイル ID 1 の統計情報を、 1の ID で表示します。

SELECT *  
FROM fn_virtualfilestats(1, 1);  
GO  

B. 名前付きデータベースとファイルの統計情報の表示

次の使用例は、AdventureWorks2022 サンプル データベースのログ ファイルの統計情報を表示します。 システム関数 DB_ID は、 database_id パラメーターを指定するために使用されます。

SELECT *  
FROM fn_virtualfilestats(DB_ID(N'AdventureWorks2022'), 2);  
GO  

C: すべてのデータベースおよびファイルの統計情報を表示する

次の例では、SQL Server インスタンス内のすべてのデータベース内のすべてのファイルの統計情報を表示します。

SELECT *  
FROM fn_virtualfilestats(NULL,NULL);  
GO  

参照

DB_ID (Transact-SQL)
FILE_IDEX (Transact-SQL)
sys.database_files (Transact-SQL)
sys.master_files (Transact-SQL)