Showing posts with label SQL. Show all posts
Showing posts with label SQL. Show all posts

Monday, January 14, 2008

Restaurar Base de Dados no SQLServer

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