Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come ripristinare su un database diverso in SQL Server?

Puoi creare un nuovo db quindi utilizzare il "Restore Wizard" abilitando l'opzione Overwrite oppure:

Visualizza il contenuto del file di backup:

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

annota i nomi logici di .mdf e .ldf dai risultati, quindi:

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

Questo creerà il database MyTempCopy con il contenuto di your.bak .

(Non creare MyTempCopy, viene creato durante il ripristino)

Esempio (ripristina un backup di un db chiamato 'creditline' su '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).