sys.dm_os_volume_stats (Transact-SQL)
Retourne les informations relatives au volume du système d'exploitation (répertoire) sur lequel les bases de données et fichiers spécifiés sont stockés. Utilisez cette fonction de gestion dynamique dans SQL Server 2008 R2 SP1 et les versions ultérieures pour vérifier les attributs du lecteur de disque physique ou retourner les informations relatives à l'espace disque disponible pour le répertoire.
Syntaxe
sys.dm_os_volumne_stats (database_id, file_id)
Arguments
database_id
ID de la base de données. database_id est de type int sans valeur par défaut. Ne peut pas être Null.file_id
ID du fichier. file_id est de type int sans valeur par défaut. Ne peut pas être Null.
Table retournée
Colonne |
Type de données |
Description |
database_id |
int |
Identificateur de la base de données. Ne peut pas être Null. |
file_id |
int |
ID du fichier. Ne peut pas être Null. |
volume_mount_point |
nvarchar(512) |
Point de montage à la racine duquel le volume est attaché. Peut retourner une chaîne vide. |
volume_id |
nvarchar(512) |
Identificateur du volume du système d'exploitation. Peut retourner une chaîne vide. |
logical_volume_name |
nvarchar(512) |
Nom du volume logique. Peut retourner une chaîne vide. |
file_system_type |
nvarchar(512) |
Type du volume du système de fichiers (par exemple, NTFS, FAT, RAW). Peut retourner une chaîne vide. |
total_bytes |
bigint |
Taille totale (en octets) du volume. Ne peut pas être Null. |
available_bytes |
bigint |
Espace disponible sur le volume. Ne peut pas être Null. |
supports_compression |
bit |
Indique si le volume prend en charge la compression du système d'exploitation. Ne peut pas être Null. |
supports_alternate_streams |
bit |
Indique si le volume prend en charge les flux de remplacement. Ne peut pas être Null. |
supports_sparse_files |
bit |
Indique si le volume prend en charge les fichiers partiellement alloués. Ne peut pas être Null. |
is_read_only |
bit |
Indique si le volume est actuellement marqué comme étant en lecture seule. Ne peut pas être Null. |
is_compressed |
bit |
Indique si ce volume est actuellement compressé. Ne peut pas être Null. |
Sécurité
Autorisations
Nécessite l'autorisation VIEW SERVER STATE.
Exemples
A. Retour de l'espace total et de l'espace disponible pour tous les fichiers de base de données
L'exemple suivant retourne l'espace total et l'espace disponible (en octets) pour tous les fichiers de base de données dans l'instance de 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. Retour de l'espace total et de l'espace disponible pour la base de donnée actuelle
L'exemple suivant retourne l'espace total et l'espace disponible (en octets) pour les fichiers de base de données dans la base de données actuelle.
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);