sys.dm_os_volume_stats (Transact-SQL)
S’applique à :SQL Server
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. Ne peut pas ê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. Ne peut pas ê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. Ne peut pas ê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é. Ne peut pas ê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 le périphérique de stockage est PMM ou SSD 1 : Demander une pénalité sur ce volume, généralement lorsque le périphérique 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
.
Autorisations pour SQL Server 2022 et versions ultérieures
Nécessite l’autorisation VIEW SERVER PERFORMANCE STATE sur le serveur.
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)
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour