Dans un environnement SQL Server, chaque fichier de base de données peut être compressé en supprimant les pages inutilisées. Bien que le moteur de base de données optimise l'allocation de disque, il arrive parfois que les fichiers n'aient plus besoin de la quantité qui leur était allouée auparavant. Le programme prévoit la compression des fichiers de base de données à la fois manuellement et automatiquement après un certain temps.
Instructions
Étape 1
Pour la compression automatique, l'environnement dispose d'une base de données AUTO_SHRINK dont le paramètre est suffisant pour être mis à ON. Avec cette base de données sur le système, le moteur de base de données réduira automatiquement tout SQL ayant de l'espace libre. Les paramètres sont configurés à l'aide de l'instruction ALTER DATABASE, qui est initialement définie sur OFF. Toutes les opérations de compression automatique ont lieu en arrière-plan et n'affectent pas les actions de l'utilisateur dans la base de données.
Étape 2
Les bases de données SQL Server sont compressées manuellement à l'aide de l'instruction DBCC SHRINKDATABASE (DBCC SHRINKFILE). Si l'instruction sélectionnée ne peut pas réserver d'espace dans le fichier journal, un message d'information s'affiche indiquant l'action requise pour libérer de l'espace disque.
Étape 3
Avec DBCC SHRINKDATABASE, vous ne pouvez pas réduire la base de données à une taille inférieure à la taille d'origine. Si la base de données a été créée avec une taille de 10 Mo, puis étendue à 50 Mo, il sera possible de la compresser uniquement à 10 Mo, même si toutes les données sont supprimées.
Étape 4
Avec DBCC SHRINKFILE, vous pouvez compresser des fichiers individuels à une taille nettement inférieure à la taille initiale. Cependant, chaque fichier de base de données devra être compressé séparément.
Étape 5
Lorsque ces instructions sont utilisées, les journaux de transactions sont automatiquement réduits à la taille demandée. Le plus grand effet de la compression n'est obtenu que si elle est effectuée après une opération qui crée beaucoup d'espace supplémentaire (par exemple, la suppression d'une table).