Podia ser muito mais simples, mas para que facilitar se da para complicar? E para eu nunca esquecer como restaurar uma base de dados no SQLServer, resolvi fazer este post.
Quando se tenta pelas vias normais e da o erro:
Restore failed for Server...
E tenta por script e da outro erro:
Directory lookup for the file...
E se a base de dados esta em uso:
Exclusive access could not be obtained because the database is in use.
Então esta faltando é os comandos corretos...
Limpar as conexões ativas:
USE Master
ALTER DATABASE YOUR_DATABASE_NAME SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
USE Master
ALTER DATABASE YOUR_DATABASE_NAME SET MULTI_USER WITH ROLLBACK IMMEDIATE
GO
Para poder ver o nome do Data e do Log, e ainda outros dados do backup, informações precisosas para o próximo passo:
RESTORE FILELISTONLY FROM DISK = 'C:\BACKUP.bak'
Agora é so fazer o restore assim:
RESTORE DATABASE NewDataBaseName FROM DISK = 'C:\BACKUP.bak'
WITH
MOVE 'BackupDatabase_Data' TO 'C:\MSSQL\Data\NewDataBaseName.mdf',
MOVE 'BackupDatabase_Log' TO 'C:\MSSQL\Data\NewDataBaseName.ldf'
Agora já sei aonde encontrar isto mais rápido da próxima vez :P
No comments:
Post a Comment