Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como restaurar para um banco de dados diferente no SQL Server?


Você pode criar um novo banco de dados e usar o "Restore Wizard" habilitando a opção Overwrite ou:

Veja o conteúdo do arquivo de backup:
RESTORE FILELISTONLY FROM DISK='c:\your.bak'

observe os nomes lógicos do .mdf &.ldf dos resultados, então:
RESTORE DATABASE MyTempCopy FROM DISK='c:\your.bak'
WITH 
   MOVE 'LogicalNameForTheMDF' TO 'c:\MyTempCopy.mdf',
   MOVE 'LogicalNameForTheLDF' TO 'c:\MyTempCopy_log.ldf'

Isso criará o banco de dados MyTempCopy com o conteúdo de your.bak .

(Não crie o MyTempCopy, ele é criado durante a restauração)

Exemplo (restaura um backup de um banco de dados chamado 'creditline' para '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).