Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment restaurer vers une base de données différente dans SQL Server ?

Vous pouvez créer une nouvelle base de données puis utiliser le "Restore Wizard" en activant l'option Overwrite ou :

Afficher le contenu du fichier de sauvegarde :

RESTORE FILELISTONLY FROM DISK='c:\your.bak'

notez les noms logiques des .mdf &.ldf à partir des résultats, puis :

RESTORE DATABASE MyTempCopy FROM DISK='c:\your.bak'
WITH 
   MOVE 'LogicalNameForTheMDF' TO 'c:\MyTempCopy.mdf',
   MOVE 'LogicalNameForTheLDF' TO 'c:\MyTempCopy_log.ldf'

Cela créera la base de données MyTempCopy avec le contenu de your.bak .

(Ne créez pas MyTempCopy, il est créé lors de la restauration)

Exemple (restaure une sauvegarde d'une base de données appelée "creditline" vers "MyTempCopy") :

RESTORE FILELISTONLY FROM DISK='e:\mssql\backup\creditline.bak'

>LogicalName
>--------------
>CreditLine
>CreditLine_log

RESTORE DATABASE MyTempCopy FROM DISK='e:\mssql\backup\creditline.bak'
WITH 
   MOVE 'CreditLine' TO 'e:\mssql\MyTempCopy.mdf',
   MOVE 'CreditLine_log' TO 'e:\mssql\MyTempCopy_log.ldf'

>RESTORE DATABASE successfully processed 186 pages in 0.010 seconds (144.970 MB/sec).