Bagikan melalui


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 dapat NULL.

file_id

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

Tabel dikembalikan

Kolom Jenis data Deskripsi
database_id int ID database. Tidak dapat diubah ke null.
file_id int ID file. Tidak dapat diubah ke null.
volume_mount_point nvarchar(512) Titik pemasangan di mana volume berakar. Dapat mengembalikan string kosong. Mengembalikan null di Linux.
volume_id nvarchar(512) ID volume sistem operasi. Dapat mengembalikan string kosong. Mengembalikan null di Linux.
logical_volume_name nvarchar(512) Nama volume logis. Dapat mengembalikan string kosong. Mengembalikan null di Linux.
file_system_type nvarchar(512) Jenis volume sistem file (misalnya, NTFS, FAT, RAW). Dapat mengembalikan string kosong. Mengembalikan null di Linux.
total_bytes bigint Ukuran total dalam byte volume. Tidak dapat diubah ke null.
available_bytes bigint Ruang kosong yang tersedia pada volume. Tidak dapat diubah ke null.
supports_compression kecil Menunjukkan apakah volume mendukung pemadatan sistem operasi. Tidak dapat diubah ke null pada Windows, dan mengembalikan null di Linux.
supports_alternate_streams kecil Menunjukkan apakah volume mendukung aliran alternatif. Tidak dapat diubah ke null pada Windows, dan mengembalikan null di Linux.
supports_sparse_files kecil Menunjukkan apakah volume mendukung file jarang. Tidak dapat diubah ke null pada Windows, dan mengembalikan null di Linux.
is_read_only kecil Menunjukkan apakah volume saat ini ditandai sebagai baca saja. Tidak dapat diubah ke null.
is_compressed kecil Menunjukkan apakah volume ini saat ini dikompresi. Tidak dapat diubah ke null pada Windows, dan mengembalikan null di 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 2019 (15.x) dan versi yang lebih baru

Izin

SQL Server 2019 (15.x) dan versi yang lebih lama memerlukan izin VIEW SERVER STATE di server.

SQL Server 2022 (16.x) dan versi yang lebih baru memerlukan izin VIEW SERVER PERFORMANCE STATE di 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.file_id);