sys.dm_os_volume_stats (Transact-SQL)
S’applique à : SQL Server
Azure SQL base de données
Azure Synapse Analytics
Analytics Platform System (PDW)
Retourne des informations sur le volume du système d’exploitation (répertoire) sur lequel les bases de données et fichiers spécifiés sont stockés dans SQL Server. Utilisez cette fonction de gestion dynamique pour vérifier les attributs du lecteur de disque physique ou retourner les informations relatives à l'espace disque disponible pour le répertoire.
Conventions de la syntaxe Transact-SQL
Syntaxe
sys.dm_os_volume_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 avoir la valeur NULL.
file_id
ID du fichier. file_id est int, sans valeur par défaut. Ne peut pas avoir la valeur NULL.
Table retournée
Colonne | Type de données | Description |
---|---|---|
database_id | int | ID 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. Retourne null sur le système d’exploitation Linux. |
volume_id | nvarchar(512) | Identificateur du volume du système d'exploitation. Peut retourner une chaîne vide. Retourne null sur le système d’exploitation Linux. |
logical_volume_name | nvarchar(512) | Nom du volume logique. Peut retourner une chaîne vide. Retourne null sur le système d’exploitation Linux. |
file_system_type | nvarchar(512) | Type du volume du système de fichiers (par exemple, NTFS, FAT, RAW). Peut retourner une chaîne vide. Retourne null sur le système d’exploitation Linux. |
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 | tinyint | Indique si le volume prend en charge la compression du système d'exploitation. Impossible d’être null sur Windows et retourne null sur le système d’exploitation Linux. |
supports_alternate_streams | tinyint | Indique si le volume prend en charge les flux de remplacement. Impossible d’être null sur Windows et retourne null sur le système d’exploitation Linux. |
supports_sparse_files | tinyint | Indique si le volume prend en charge les fichiers partiellement alloués. Impossible d’être null sur Windows et retourne null sur le système d’exploitation Linux. |
is_read_only | tinyint | Indique si le volume est actuellement marqué comme étant en lecture seule. Ne peut pas être null. |
is_compressed | tinyint | Indique si ce volume est actuellement compressé. Impossible d’être null sur Windows et retourne null sur le système d’exploitation Linux. |
incurs_seek_penalty | tinyint | Indique le type de stockage prenant en charge ce volume. Les valeurs possibles sont les suivantes : 0 : Aucune pénalité de recherche sur ce volume, généralement lorsque l’appareil de stockage est PMM ou SSD 1 : Rechercher une pénalité sur ce volume, généralement lorsque l’appareil de stockage est HDD 2 : Le type de stockage ne peut pas être déterminé lorsque le volume se trouve sur un chemin UNC ou des partages montés NULL : Le type de stockage ne peut pas être déterminé sur le système d’exploitation Linux S’applique à : SQL Server (à compter de SQL Server 2019 (15.x)) |
Sécurité
Autorisations
Nécessite l'autorisation VIEW SERVER STATE
.
Exemples
R. 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);
Voir aussi
sys.master_files (Transact-SQL)
sys.database_files (Transact-SQL)