sys.dm_os_volume_stats (Transact-sql)
Üzerinde belirtilen veritabanları ve dosyaları depolanmış olan işletim sistemi birimi (dizin) hakkında bilgi verir SQL Server 2012. Fiziksel disk sürücüsünün özniteliklerini denetleyin veya dizin bilgilerini kullanılabilir boş alanı dönmek için bu dinamik yönetimi işlevini kullanın.
Transact-SQL Sözdizim Kuralları
Sözdizimi
sys.dm_os_volumne_stats (database_id, file_id)
Bağımsız değişkenler
database_id
Veritabanı Kımlığı. database_idise int, hiçbir varsayılan ile. null olamaz.file_id
Dosya Kımlığı. file_idise int, hiçbir varsayılan ile. null olamaz.
Dönen Tablo
Sütun |
Veri türü |
Açıklama |
database_id |
int |
Veritabanı Kımlığı. NULL olamaz. |
file_IDfile_idsys.master_files |
int |
Dosya Kımlığı. NULL olamaz. |
volume_mount_point |
nvarchar(512) |
Bağlama noktası hangi hacmi kaynaklanmaktadır. Boş bir dize döndürür. |
volume_id |
nvarchar(512) |
İşletim sistemi birimi kimliği. Boş bir dize döndürür |
logical_volume_name |
nvarchar(512) |
Mantıksal birim adı. Boş bir dize döndürür |
file_system_type |
nvarchar(512) |
Dosya sistemi birimi (örneğin, ntfs, fat, raw) tür. Boş bir dize döndürür |
total_bytes |
bigint |
Birimin bayt cinsinden toplam boyutu. NULL olamaz. |
available_bytes |
bigint |
Birimdeki boş alan kullanılabilir. NULL olamaz. |
supports_compression |
bit |
Birimin işletim sistemi sıkıştırmayı destekleyip desteklemediğini gösterir. NULL olamaz. |
supports_alternate_streams |
bit |
Birimin diğer akarsuları destekleyip desteklemediğini gösterir. NULL olamaz. |
supports_sparse_files |
bit |
Birimi seyrek dosyaları destekleyip desteklemediğini gösterir. NULL olamaz. |
is_read_only |
bit |
Eğer birim şu anda salt okunur olarak işaretlenmiş gösterir. NULL olamaz. |
is_compressed |
bit |
Bu birim şu anda sıkıştırılan gösterir. NULL olamaz. |
Güvenlik
İzinler
VIEW server state izni gerektirir.
Örnekler
A.Toplam alanı ve tüm veritabanı dosyaları için kullanılabilir alanı döndürür
Tüm veritabanı dosyaları örneği için aşağıdaki örnek verir (bayt) kullanılabilir alan ve toplam alanı 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);
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.Toplam alan ve geçerli veritabanı için kullanılabilir alanı döndürür
Aşağıdaki örnek, geçerli veritabanında toplam alanı ve veritabanı dosyaları için kullanılabilir alanı (bayt cinsinden) döndürür.
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);
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);