J'essaie de créer une nouvelle base de données à partir d'une ancienne sauvegarde de la base de données sur le même serveur. Lorsque j'utilise studio de gestion du serveur SQL et que je tente de restaurer la nouvelle base de données à partir de la sauvegarde, le message d'erreur suivant s'affiche:
System.Data.SqlClient.SqlError: The backup set holds a backup of a database
other than the existing 'test' database. (Microsoft.SqlServer.Smo)
après avoir googlé autour j'ai trouvé ce morceau de code
RESTORE DATABASE myDB
FROM DISK = 'C:\myDB.bak'
WITH MOVE 'myDB_Data' TO 'C:\DATA\myDB.mdf',
MOVE 'myDB_Log' TO 'C:\DATA\myDB_log.mdf'
GO
Je me demandais si les instructions de déplacement gâcheraient la base de données dont la sauvegarde provenait sur ce serveur?
Merci, toute aide appréciée.
Je pense que c'est plus facile que ça.
Vous pouvez modifier les "onglets" à gauche de l'assistant (Général, Fichiers, Options)
Il est même possible de restaurer sans créer de base de données vierge.
Dans SQL Server Management Studio, cliquez avec le bouton droit de la souris sur bases de données et sélectionnez Restaurer la base de données ...
Dans la boîte de dialogue Restaurer la base de données, , sélectionnez la base de données source ou le périphérique normalement. Une fois la base de données source sélectionnée, SSMS renseignera le nom de la base de données de destination en fonction du nom d'origine de la base de données.
Il est alors possible de changer le nom de la base de données et d'entrer un nouveau nom de base de données de destination .
Avec cette approche, vous n'avez même pas besoin d'accéder à l'onglet Options et de cliquer sur l'option "Remplacer la base de données existante".
En outre, les fichiers de base de données seront nommés de manière cohérente avec votre nouveau nom de base de données et vous avez toujours la possibilité de modifier les noms de fichier si vous le souhaitez.
Pensez-y comme une archive. MyDB.Bak contient MyDB.mdf et MyDB.ldf.
Restore with Move pour dire que HerDB saisit essentiellement MyDB.mdf (et ldf) de la sauvegarde et les copie sous les noms HerDB.mdf et ldf.
Donc, si vous avez déjà une MyDb sur l'instance de serveur que vous restaurez, elle ne sera pas touchée.