次の方法で共有


sys.dm_os_volume_stats (Transact-SQL)

指定したデータベースとファイルが格納されているオペレーティング システム ボリューム (ディレクトリ) に関する情報を返します。この動的管理ビューは、SQL Server 2008 R2 SP1 以降のバージョンで、物理ディスク ドライブの属性を確認したり、ディレクトリに関する空き領域の情報を返したりするために使用します。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

sys.dm_os_volumne_stats (database_id, file_id)

引数

  • database_id
    データベースの ID を指定します。database_id のデータ型は int で、既定値はありません。NULL にすることはできません。

  • file_id
    ファイルの ID を指定します。file_id のデータ型は int で、既定値はありません。NULL にすることはできません。

返されるテーブル

データ型

説明

database_id

int

データベースの ID。NULL にすることはできません。

file_id

int

ファイルの ID です。NULL にすることはできません。

volume_mount_point

nvarchar(512)

ボリュームがルートとするマウント ポイント。空の文字列を返すことができます。

volume_id

nvarchar(512)

オペレーティング システム ボリューム ID。空の文字列を返すことができます。

logical_volume_name

nvarchar(512)

論理ボリューム名。空の文字列を返すことができます。

file_system_type

nvarchar(512)

ファイル システム ボリュームの種類 (NTFS、FAT、RAW など)。空の文字列を返すことができます。

total_bytes

bigint

ボリュームの合計サイズ (バイト単位)。NULL にすることはできません。

available_bytes

bigint

ボリューム上の使用可能な空き領域。NULL にすることはできません。

supports_compression

bit

ボリュームがオペレーティング システムによる圧縮をサポートするかどうかを示します。NULL にすることはできません。

supports_alternate_streams

bit

ボリュームが代替ストリームをサポートするかどうかを示します。NULL にすることはできません。

supports_sparse_files

bit

ボリュームがスパース ファイルをサポートするかどうかを示します。NULL にすることはできません。

is_read_only

bit

ボリュームが現在読み取り専用としてマークされているかどうかを示します。NULL にすることはできません。

is_compressed

bit

このボリュームが現在圧縮されているかどうかを示します。NULL にすることはできません。

セキュリティ

アクセス許可

VIEW SERVER STATE 権限が必要です。

A. すべてのデータベース ファイルの合計領域と使用可能な領域を返す

次の例では、SQL Server のインスタンスにあるすべてのデータベース ファイルの合計領域と使用可能な領域 (バイト単位) を返します。

SELECT f.database_id, f.file_id, volume_mount_point, total_bytes, available_bytes
FROM sys.master_files AS f
CROSS APPLY sys.dm_os_volume_stats(f.database_id, f.file_id);

B. 現在のデータベースの合計領域と使用可能な領域を返す

次の例では、現在のデータベースにあるデータベース ファイルの合計領域と使用可能な領域 (バイト単位) を返します。

SELECT database_id, f.file_id, volume_mount_point, total_bytes, available_bytes
FROM sys.database_files AS f
CROSS APPLY sys.dm_os_volume_stats(DB_ID(f.name), f.file_id);