Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
si applica a:SQL Server
Restituisce informazioni sul volume del sistema operativo (directory) su cui sono memorizzati i database e i file specificati in SQL Server. Usa questa funzione di gestione dinamica per verificare gli attributi del disco fisico o restituire le informazioni disponibili nello spazio libero sulla directory.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
sys.dm_os_volume_stats (database_id , file_id)
Arguments
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 è int, senza impostazione predefinita. Non può essere NULL.
Tabella restituita
| Column | Tipo di dati | Descrzione |
|---|---|---|
database_id |
int | ID del database. Non ammette valori NULL. |
file_id |
int | ID del file. Non ammette valori NULL. |
volume_mount_point |
nvarchar(512) | Punto di montaggio dove il volume è radicato. Può restituire una stringa vuota. Restituisce null su Linux. |
volume_id |
nvarchar(512) | ID volume del sistema operativo. Può restituire una stringa vuota. Restituisce null su Linux. |
logical_volume_name |
nvarchar(512) | Nome del volume logico. Può restituire una stringa vuota. Restituisce null su Linux. |
file_system_type |
nvarchar(512) | Tipo di volume del file system (ad esempio, NTFS, FAT, RAW). Può restituire una stringa vuota. Restituisce null su Linux. |
total_bytes |
bigint | Dimensione totale in byte del volume. Non ammette valori NULL. |
available_bytes |
bigint | Spazio libero disponibile sul volume. Non ammette valori NULL. |
supports_compression |
tinyint | Indica se il volume supporta la compressione del sistema operativo. Non è nullable su Windows, e restituisce null su Linux. |
supports_alternate_streams |
tinyint | Indica se il volume supporta flussi alternativi. Non è nullable su Windows, e restituisce null su Linux. |
supports_sparse_files |
tinyint | Indica se il volume supporta file sparsi. Non è nullable su Windows, e restituisce null su Linux. |
is_read_only |
tinyint | Indica se il volume è attualmente contrassegnato come solo lettura. Non ammette valori NULL. |
is_compressed |
tinyint | Indica se questo volume è attualmente compresso. Non è nullable su Windows, e restituisce null su Linux. |
incurs_seek_penalty |
tinyint | Indica il tipo di memoria che supporta questo volume. I valori possibili sono:0: Nessuna penalità di ricerca su questo volume, tipicamente quando il dispositivo di archiviazione è PMM o SSD1: penalità di ricerca su questo volume, tipicamente quando il dispositivo di archiviazione è HDD2: Il tipo di storage non può essere determinato quando il volume si trova su un percorso UNC o su condivisioni montateNULL: Il tipo di memoria non può essere determinato sul sistema operativo LinuxSi applica a: SQL Server 2019 (15.x) e versioni successive |
Permissions
SQL Server 2019 (15.x) e versioni precedenti richiedono VIEW SERVER STATE l'autorizzazione per il server.
SQL Server 2022 (16.x) e versioni successive richiedono VIEW SERVER PERFORMANCE STATE l'autorizzazione per il server.
Examples
A. Restituire spazio totale e spazio disponibile per tutti i file del database
Il seguente esempio restituisce 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 spazio totale e spazio disponibile per il database corrente
Il seguente esempio restituisce lo spazio totale e lo spazio disponibile (in byte) per i file del database 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.file_id);