sys.dm_os_volume_stats (Transact-SQL)
適用於:SQL Server
傳回指定資料庫和檔案儲存在 SQL Server 之作業系統磁片區 (directory) 的相關資訊。 使用此動態管理功能來檢查實體磁片磁碟機的屬性,或傳回目錄的可用可用空間資訊。
語法
sys.dm_os_volume_stats (database_id, file_id)
引數
database_id
資料庫的識別碼。 database_id為 int ,沒有預設值。 不可以是 NULL。
file_id
檔案的識別碼。 file_id為 int ,沒有預設值。 不可以是 NULL。
傳回的資料表
資料行 | 資料類型 | 說明 |
---|---|---|
database_id | int | 資料庫的識別碼。 不可以是 null。 |
file_id | int | 檔案的識別碼。 不可以是 null。 |
volume_mount_point | nvarchar(512) | 磁片區根目錄的掛接點。 可以傳回空字串。 在 Linux 作業系統上傳回 Null。 |
volume_id | nvarchar(512) | 作業系統磁片區識別碼。 可以傳回空字串。 在 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 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應