sys.dm_os_volume_stats (T-SQL)

Berlaku untuk: SQL Server Tidak didukung Azure SQL Database Tidak didukung Azure Synapse Analytics Tidak didukung Analytics Platform System (PDW)

Mengembalikan informasi tentang volume sistem operasi (direktori) tempat database dan file yang ditentukan disimpan dalam SQL Server. Gunakan fungsi manajemen dinamis ini untuk memeriksa atribut drive disk fisik atau mengembalikan informasi ruang kosong yang tersedia tentang direktori.

tautan topikIkon Konvensi Sintaks Transact-SQL

Sintaks

sys.dm_os_volume_stats (database_id, file_id)  

Argumen

database_id
ID database. database_idint, tanpa default. Tidak boleh NULL.

file_id
ID file. file_idint, tanpa default. Tidak boleh NULL.

Tabel Dikembalikan

Kolom Jenis data Deskripsi
database_id int ID database. Tidak boleh null.
file_id int ID file. Tidak boleh null.
volume_mount_point nvarchar(512) Titik pemasangan di mana volume di-root. Dapat mengembalikan string kosong. Mengembalikan null pada sistem operasi Linux.
volume_id nvarchar(512) ID volume sistem operasi. Dapat mengembalikan string kosong. Mengembalikan null pada sistem operasi Linux.
logical_volume_name nvarchar(512) Nama volume logis. Dapat mengembalikan string kosong. Mengembalikan null pada sistem operasi Linux.
file_system_type nvarchar(512) Jenis volume sistem file (misalnya, NTFS, FAT, RAW). Dapat mengembalikan string kosong. Mengembalikan null pada sistem operasi Linux.
total_bytes bigint Ukuran total dalam byte volume. Tidak boleh null.
available_bytes bigint Ruang kosong yang tersedia pada volume. Tidak boleh null.
supports_compression tinyint Menunjukkan apakah volume mendukung kompresi sistem operasi. Tidak boleh null pada Windows dan mengembalikan null pada sistem operasi Linux.
supports_alternate_streams tinyint Menunjukkan apakah volume mendukung aliran alternatif. Tidak boleh null pada Windows dan mengembalikan null pada sistem operasi Linux.
supports_sparse_files tinyint Menunjukkan apakah volume mendukung file jarang. Tidak boleh null pada Windows dan mengembalikan null pada sistem operasi Linux.
is_read_only tinyint Menunjukkan apakah volume saat ini ditandai sebagai baca saja. Tidak boleh null.
is_compressed tinyint Menunjukkan apakah volume ini saat ini dikompresi. Tidak boleh null pada Windows dan mengembalikan null pada sistem operasi Linux.
incurs_seek_penalty tinyint Menunjukkan jenis penyimpanan yang mendukung volume ini. Potensi nilai:

0: Tidak ada penalti pencarian pada volume ini, biasanya ketika perangkat penyimpanan adalah PMM atau SSD

1: Mencari penalti pada volume ini, biasanya ketika perangkat penyimpanan adalah HDD

2: Jenis penyimpanan tidak dapat ditentukan ketika volume berada di jalur UNC atau berbagi yang dipasang

NULL: Jenis penyimpanan tidak dapat ditentukan pada sistem operasi Linux

Berlaku untuk: SQL Server (dimulai dengan SQL Server 2019 (15.x))

Keamanan

Izin

VIEW SERVER STATE Memerlukan izin.

Contoh

A. Mengembalikan total ruang dan ruang yang tersedia untuk semua file database

Contoh berikut mengembalikan total ruang dan ruang yang tersedia (dalam byte) untuk semua file database dalam instans 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. Mengembalikan total ruang dan ruang yang tersedia untuk database saat ini

Contoh berikut mengembalikan total ruang dan ruang yang tersedia (dalam byte) untuk file database dalam database saat ini.

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);  

Lihat juga

sys.master_files (T-SQL)
sys.database_files (Transact-SQL)