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

No comments:

Post a Comment