sys.dm_os_volume_stats (Transact-SQL)
適用対象:SQL Server
指定したデータベースとファイルがSQL Serverに格納されているオペレーティング システム ボリューム (ディレクトリ) に関する情報を返します。 この動的管理関数は、物理ディスク ドライブの属性を確認する場合や、ディレクトリの使用可能な空き容量に関する情報を取得する場合に使用します。
構文
sys.dm_os_volume_stats (database_id, file_id)
引数
database_id
データベースの ID です。 database_id は int, 、既定値はありません。 Nll は指定できません。
file_id
ファイルの ID。 file_id は int で、既定値はありません。 Nll は指定できません。
返されるテーブル
列 | データの種類 | 説明 |
---|---|---|
database_id | int | データベースの ID です。 null にすることはできません。 |
file_id | int | ファイルの ID。 null にすることはできません。 |
volume_mount_point | nvarchar(512) | ボリュームがルートとするマウント ポイント。 空の文字列を返すことができます。 Linux オペレーティング システムで null を返します。 |
volume_id | nvarchar(512) | オペレーティング システム ボリューム ID。 空の文字列を返すことができます。 Linux オペレーティング システムで null を返します。 |
logical_volume_name | nvarchar(512) | 論理ボリューム名。 空の文字列を返すことができます。 Linux オペレーティング システムで null を返します。 |
file_system_type | nvarchar(512) | ファイル システム ボリュームの種類 (NTFS、FAT、RAW など)。 空の文字列を返すことができます。 Linux オペレーティング システムで null を返します。 |
total_bytes | bigint | ボリュームの合計サイズ (バイト単位)。 null にすることはできません。 |
available_bytes | bigint | ボリューム上の使用可能な空き領域。 null にすることはできません。 |
supports_compression | tinyint | ボリュームがオペレーティング システムによる圧縮をサポートするかどうかを示します。 Windows では null にすることはできません。Linux オペレーティング システムでは null を返します。 |
supports_alternate_streams | tinyint | ボリュームが代替ストリームをサポートするかどうかを示します。 Windows では null にすることはできません。Linux オペレーティング システムでは null を返します。 |
supports_sparse_files | tinyint | ボリュームがスパース ファイルをサポートしているかどうかを示します。 Windows では null にすることはできません。Linux オペレーティング システムでは null を返します。 |
is_read_only | tinyint | ボリュームが現在読み取り専用としてマークされているかどうかを示します。 null にすることはできません。 |
is_compressed | tinyint | このボリュームが現在圧縮されているかどうかを示します。 Windows では null にすることはできません。Linux オペレーティング システムでは null を返します。 |
incurs_seek_penalty | tinyint | このボリュームをサポートするストレージの種類を示します。 次のいずれかの値になります。 0: 通常、ストレージ デバイスが PMM または SSD の場合、このボリュームに対するシークペナルティはありません 1:通常、ストレージ デバイスが HDD の場合に、このボリュームにペナルティを求める 2: ボリュームが UNC パスまたはマウントされた共有上にある場合、ストレージの種類を特定できません NULL: Linux オペレーティング システムではストレージの種類を特定できません 適用対象: SQL Server (SQL Server 2019 (15.x) 以降) |
セキュリティ
アクセス許可
VIEW SERVER STATE
権限が必要です。
SQL Server 2022 以降のアクセス許可
サーバーに対する VIEW SERVER PERFORMANCE 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);
関連項目
sys.master_files (Transact-SQL)
sys.database_files (Transact-SQL)
フィードバック
https://aka.ms/ContentUserFeedback。
近日公開予定: 2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub イシューを段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、以下を参照してください:フィードバックの送信と表示