Rien de pire que de devoir déplacer une base de données SQL Server sans les outils Visual Studio… Surtout quand on a une base de données MSDE !
Heureusement, grâce à osql.exe (disponible par défaut dans C:\Program Files (x86)\Microsoft SQL Server\80\Tools\Binn), on va pouvoir la déplacer assez facilement.
Tout d’abord, trouver le nom de toutes les bases à déplacer :
osql.exe -E -S SRV-SQL\INSTANCE 1> SELECT name FROM sysdatabases 2> GO
Ensuite, toujours dans la même session osql, lançons la sauvegarde des bases:
3> BACKUP DATABASE [STS_Config_32664] TO DISK = 'E:\Backup\STS_Config_32664.bak' 4> BACKUP DATABASE [STS_srv-sts_1_32684] TO DISK = 'E:\Backup\STS_srv-sts_1_32684.bak' 5> GO
Une fois la sauvegarde terminée, on va détacher les bases de données :
6> EXEC sp_detach_db 'STS_Config_32664' 7> EXEC sp_detach_db 'STS_srv-sts_1_32684' 8> GO
Maintenant, avec un explorateur Windows, il faut déplacer les bases de l’emplacement d’origine vers le nouvel emplacement (ici E:\NewDest).
Et enfin, attacher les bases à SQL Server :
9> EXEC sp_attach_db @dbname = N'STS_Config_32664', @filename1 = N'E:\NewDest\STS_Config_32664.mdf', @filename2 = N'E:\NewDest\STS_Config_32664_log.LDF' 10> EXEC sp_attach_db @dbname = N'STS_srv-sts_1_32684', @filename1 = N'E:\NewDest\STS_srv-sts_1_32684.mdf', @filename2 = N'E:\NewDest\STS_srv-sts_1_32684_log.LDF' 11> GO