Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Base de dados não é restaurada

Estou tentando restaurar o banco com o arquivo fornecido no curso através do seguinte comando no Terminal:

 restore database SUCOS_VENDAS from disk = '/home/nandes/Documents/SUCOS_VENDAS.BAK'

Entretanto toda vez que executo ele, recebo o seguinte erro:

Msg 3154, Level 16, State 4, Server nandes, Line 1
The backup set holds a backup of a database other than the existing 'SUCOS_VENDAS' database.
Msg 3013, Level 16, State 1, Server nandes, Line 1
RESTORE DATABASE is terminating abnormally.

Alguém sabe o motivo? Agradeço desde já pela ajuda =)

PS: estou usando o sql-server no Ubuntu, a mesmas versão do curso, só muda o OS mesmo.

5 respostas

Olá Gabriel Fernandes!

1) Use WITH REPLACE enquanto estiver usando o comando RESTORE. Ver exemplo.

2) Exclua o banco de dados antigo que está em conflito e restaure novamente usando o comando RESTORE.

3) Exemplo:

RESTORE DATABASE AdventureWorks
FROM DISK = 'C: \ BackupAdventureworks.bak'
WITH REPLACE

Olá Henrique, quando tento o comando com WITH REPLACE, aparece o seguinte erro:

Msg 5133, Level 16, State 1, Server nandes, Line 1
Directory lookup for the file "C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\SUCOS_VENDAS.mdf" failed with the operating system error 2(The system cannot find the file specified.).
Msg 3156, Level 16, State 3, Server nandes, Line 1
File 'SUCOS_VENDAS' cannot be restored to 'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\SUCOS_VENDAS.mdf'. Use WITH MOVE to identify a valid location for the file.
Msg 5133, Level 16, State 1, Server nandes, Line 1
Directory lookup for the file "C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\SUCOS_VENDAS_log.ldf" failed with the operating system error 2(The system cannot find the file specified.).
Msg 3156, Level 16, State 3, Server nandes, Line 1
File 'SUCOS_VENDAS_log' cannot be restored to 'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\SUCOS_VENDAS_log.ldf'. Use WITH MOVE to identify a valid location for the file.
Msg 3119, Level 16, State 1, Server nandes, Line 1
Problems were identified while planning for the RESTORE statement. Previous messages provide details.
Msg 3013, Level 16, State 1, Server nandes, Line 1
RESTORE DATABASE is terminating abnormally.

Olá Gabriel! Tente o seguinte código:

RESTORE DATABASE MYDB_ABC FROM DISK = 'C:\path\file.bak'
WITH MOVE 'mydb' TO 'c:\valid_data_path\MYDB_ABC.mdf',
MOVE 'mydb_log' TO 'c:\valid_log_path\MYDB_ABC.ldf';

Este valid_log_path é o caminho da pasta de dados do Sql Server da versão que você está utilizando que provavelmente está em algum lugar no subdiretório desse caminho do seu computador ou servidor C:\Program Files\Microsoft SQL Server\

solução!

Olá Gabriel! Conseguiu resolver a sua dúvida? Precisa de mais alguma ajuda?

Desculpe pela demora, acabei arranjando um PC com Windows para aproveitar melhor o curso, já que o SQL Manager não está disponível na plataforma Linux. Nesse caso a situação saiu normalmente, como demonstrado no curso