Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie kann ich in einer anderen Datenbank in SQL Server wiederherstellen?

Sie können eine neue Datenbank erstellen und dann den "Wiederherstellungsassistenten" verwenden, indem Sie die Option "Überschreiben" aktivieren, oder:

Zeigen Sie den Inhalt der Sicherungsdatei an:

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

Beachten Sie die logischen Namen der .mdf- und .ldf-Dateien aus den Ergebnissen, dann:

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

Dadurch wird die Datenbank MyTempCopy erstellt mit dem Inhalt von your.bak .

(Erstellen Sie nicht die MyTempCopy, sie wird während der Wiederherstellung erstellt)

Beispiel (stellt ein Backup einer Datenbank namens "creditline" in "MyTempCopy" wieder her):

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).