sys.dm_os_volume_stats (Transact-SQL)
Restituisce informazioni sul volume del sistema operativo (directory) in cui sono archiviati i database e i file specificati. Utilizzare la funzione a gestione dinamica in SQL Server 2008 R2 SP1 e versioni successive per verificare gli attributi dell'unità disco fisica o restituire informazioni sullo spazio libero disponibile relative alla directory.
Sintassi
sys.dm_os_volumne_stats (database_id, file_id)
Argomenti
database_id
ID del database. database_id è di tipo int e non prevede alcun valore predefinito. Non può essere NULL.file_id
ID del file. file_id è di tipo int e non prevede alcun valore predefinito. Non può essere NULL.
Tabella restituita
Colonna |
Tipo di dati |
Descrizione |
database_id |
int |
ID del database. Non può essere Null. |
file_id |
int |
ID del file. Non può essere Null. |
volume_mount_point |
nvarchar(512) |
Punto di montaggio in corrispondenza del quale si trova la radice del volume. Può restituire una stringa vuota. |
volume_id |
nvarchar(512) |
ID di volume del sistema operativo. Può restituire una stringa vuota. |
logical_volume_name |
nvarchar(512) |
Nome del volume logico. Può restituire una stringa vuota. |
file_system_type |
nvarchar(512) |
Tipo di volume del file system (ad esempio, NTFS, FAT, RAW). Può restituire una stringa vuota. |
total_bytes |
bigint |
Dimensioni totali del volume, espresse in byte. Non può essere Null. |
available_bytes |
bigint |
Spazio libero disponibile nel volume. Non può essere Null. |
supports_compression |
bit |
Indica se il volume supporta la compressione eseguita dal sistema operativo. Non può essere Null. |
supports_alternate_streams |
bit |
Indica se il volume supporta flussi alternativi. Non può essere Null. |
supports_sparse_files |
bit |
Indica se il volume supporta i file sparse. Non può essere Null. |
is_read_only |
bit |
Indica se il volume è attualmente contrassegnato come di sola lettura. Non può essere Null. |
is_compressed |
bit |
Indica se il volume è attualmente compresso. Non può essere Null. |
Sicurezza
Autorizzazioni
È richiesta l'autorizzazione VIEW SERVER STATE.
Esempi
A. Restituire lo spazio totale e lo spazio disponibile per tutti i file di database
Nell'esempio seguente vengono restituiti lo spazio totale e lo spazio disponibile (in byte) per tutti i file di database nell'istanza di 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. Restituire lo spazio totale e lo spazio disponibile per il database corrente
Nell'esempio seguente vengono restituiti lo spazio totale e lo spazio disponibile (in byte) per i file nel database corrente.
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);