sys.dm_os_volume_stats (T-SQL)

Berlaku untuk:SQL Server

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

Konvensi sintaks transact-SQL

Sintaks

sys.dm_os_volume_stats (database_id, file_id)  

Argumen

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

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

Tabel Dikembalikan

Column 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 berakar. 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 kecil Menunjukkan apakah volume mendukung pemadatan sistem operasi. Tidak boleh null pada Windows dan mengembalikan null pada sistem operasi Linux.
supports_alternate_streams kecil Menunjukkan apakah volume mendukung aliran alternatif. Tidak boleh null pada Windows dan mengembalikan null pada sistem operasi Linux.
supports_sparse_files kecil Menunjukkan apakah volume mendukung file jarang. Tidak boleh null pada Windows dan mengembalikan null pada sistem operasi Linux.
is_read_only kecil Menunjukkan apakah volume saat ini ditandai sebagai baca saja. Tidak boleh null.
is_compressed kecil Menunjukkan apakah volume ini saat ini dikompresi. Tidak boleh null pada Windows dan mengembalikan null pada sistem operasi Linux.
incurs_seek_penalty kecil Menunjukkan jenis penyimpanan yang mendukung volume ini. Kemungkinan nilai adalah:

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 hdd

2: Jenis penyimpanan tidak dapat ditentukan saat 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

Memerlukan VIEW SERVER STATE izin.

Izin untuk SQL Server 2022 dan yang lebih baru

Memerlukan izin TAMPILKAN STATUS PERFORMA SERVER pada server.

Contoh

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

Baca juga

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