Trop souvent je vois en consulting les développeurs faire eux-mêmes des backups de la base de production pour les remonter sur un environnement de développement. Et bien évidemment, mauvaise habitude, ils le font avec le wizard de Management Studio.
Le souci c’est que la version 2005 de cet outil ne prend pas en charge une option essentielle pour la création de ce type de backup : WITH COPY_ONLY.
Cette option permet de ne pas casser la stratégie de backup que le DBA, votre collègue ou même vous, auriez mis en place. Sans cette option, SQL Server garde des traces de la sauvegarde et vide le LOG, comme si elle était une continuité du plan en cours.
La conséquence à cela est que si votre base plante entre cette manipulation et le prochain BACKUP FULL « planifié », il manquera à l’administrateur des pièces du puzzle pour remonter la base puisque votre manip sera considérée comme le dernier backup complet valide. Et comme en général, ce fichier part à la poubelle…vous risquez de ne pas pouvoir remonter votre base.
Bien sûr, l’idée n’est pas de brider ces chers développeurs mais de leur enseigner l’art des choses bien faites. La solution :
- apprendre le T-SQL
BACKUP DATABASE DataWarehouse TO DISK = 'c:\temp\dw.bak' WITH COPY_ONLY, NAME = 'Copie pour Dev'
- Utiliser Management Studio 2008 qui inclut cette option dans le wizard