Dans cet article, nous discuterons de la façon de vérifier l’espace libre dans une base de données SQL Server. En tant qu’administrateur de base de données, il est important de suivre l’espace libre disponible dans la base de données et ses fichiers. Ces informations permettent non seulement de gérer la base de données, mais également de réduire la taille des fichiers de données s’il y a de l’espace libre disponible.
Pourquoi la détermination de l’espace libre est-elle nécessaire dans une base de données SQL Server ?
Bien que SQL Server fournisse des paramètres par défaut pour la croissance automatique et la réduction automatique, la gestion manuelle des fichiers de base de données est une meilleure option. En surveillant l’espace libre dans la base de données, les administrateurs peuvent garantir une utilisation efficace du stockage et éviter les erreurs de base de données pleine.
Différentes façons de déterminer l’espace libre dans une base de données SQL Server
Il existe plusieurs méthodes pour déterminer l’espace libre dans une base de données SQL Server :
- Utilisation de sp_spaceused :
- Utilisation de DBCC SQLPERF :
- Utilisation de DBCC SHRINKFILE :
- Utilisation de FILEPROPERTY :
USE NomDeVotreBaseDeDonnées; GO EXEC sp_spaceused; GO
Cette commande fournit des informations sur l’espace libre total dans la base de données, mais elle ne définit pas correctement l’espace libre dans le fichier journal des transactions.
USE NomDeVotreBaseDeDonnées; GO DBCC SQLPERF(logspace); GO
Cette commande fournit des statistiques d’utilisation de l’espace du journal des transactions pour l’ensemble de la base de données SQL Server. Elle affiche la taille actuelle du journal des transactions et le pourcentage d’espace journal utilisé pour chaque base de données.
USE NomDeVotreBaseDeDonnées; GO DBCC SHRINKFILE(VotreFichierDeDonnées); DBCC SHRINKFILE(VotreFichierJournal); GO
La commande DBCC SHRINKFILE peut réduire la taille d’un fichier de données ou de journal spécifié pour la base de données actuelle. Elle peut également vider un fichier en déplaçant les données vers d’autres fichiers du même groupe de fichiers, ce qui permet de supprimer le fichier de la base de données.
USE NomDeVotreBaseDeDonnées; GO SELECT DB_NAME() AS NomBaseDeDonnées, name AS NomFichier, size/128.0 AS TailleActuelleMo, size/128.0 - CAST(FILEPROPERTY(name, 'SpaceUsed') AS INT)/128.0 AS EspaceLibreMo FROM sys.database_files;
Cette commande calcule l’espace libre en fonction de la taille actuelle et de l’espace utilisé.
Observation : L’option FILEPROPERTY fournit le résultat le plus précis pour déterminer l’espace libre dans une base de données SQL Server. Cependant, la valeur de taille minimale de DBCC SHRINKFILE peut également être utile. Les administrateurs peuvent choisir la méthode qui fonctionne le mieux pour leur base de données spécifique.
Il convient également de mentionner qu’il existe des outils tiers disponibles qui peuvent être utilisés pour afficher des informations détaillées sur les fichiers journaux dans les bases de données SQL Server.