Condividi tramite


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.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

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