Dans cette série sur les opérations du plan de maintenance de SQL Server, j’aimerais aborder la tâche Réduire la base de données. C’est ce qu’on appelle un shrink. Cela permet de réduire physiquement la taille des fichiers de SQL Server. Quand on regarde la vue SQL, on voit qu’on exécute la commande DBCC SHRINKDATABASE. Mais DBCC SHRINKDATABASE n’est pas une commande que vous allez lancer ainsi, par planification. Je vous montre cette tâche, mais je dois vous avouer que je ne l’aime pas du tout.

Quand on crée une nouvelle base de données dans SQL Server, on va déterminer sa taille initiale. On va prédéfinir sur le disque les fichiers avec une taille suffisante pour qu’ensuite, le moteur de stockage fasse son allocation à l’intérieur. Les augmentations de taille vont bloquer les fichiers pendant les différentes opérations d’augmentation, ce qui va ralentir les requêtes, et ça va provoquer de la fragmentation des fichiers.

On ne va donc pas programmer une réduction de taille automatique, puisqu’on vient de créer une taille beaucoup plus large que ce qu’il y a comme données à l’intérieur de la base !