J'ai une base de données dont la taille augmente très rapidement. Actuellement, sa taille est d'environ 60 Go, mais après avoir exécuté la procédure stockée db_spaceused, j'ai pu vérifier que plus de 40 Go sont inutilisés (l'espace inutilisé est différent, pas l'espace réservé qui, d'après ce que j'ai compris, est destiné à la croissance des tables). Et la taille réelle des données est d'environ 10-12 Go et quelques Go dans l'espace réservé.
Maintenant, pour récupérer cet espace inutilisé, j'ai essayé d'utiliser l'opération de rétrécissement, mais cela ne m'a pas aidé. Après avoir cherché plus loin, j'ai également découvert qu'il ne fallait pas utiliser l'opération de réduction de la base de données, car elle génère des fragments de données, ce qui entraîne une perte de temps lors de l'opération du disque. Maintenant, je ne sais pas vraiment quelle autre opération je devrais essayer pour récupérer l'espace et récupérer la base de données. Je pense qu'en raison de la taille, les requêtes peuvent prendre plus de temps que prévu et que récupérer cet espace pourrait améliorer les performances (je n'en suis pas sûr).
En enquêtant, je suis également tombé sur la fonctionnalité Gererate scripts. Elle permet d'exporter des données et des schémas, mais je ne suis pas sûr qu'elle permette également de créer des scripts (tous les utilisateurs, les autorisations et d'autres choses encore) afin que scripts permette de créer une réplique telle quelle (copie profonde/clone) de la base de données en utilisant la fonction create scema, puis de la remplir de données vers d'autres bases de données/serveurs ?
Toute indication serait utile.