BACKUP LOG não pode ser executado porque não há backup de banco de dados atual

103

Tentei restaurar um banco de dados, mas apareceu esta mensagem. Como faço para restaurar este banco de dados?

Falha na restauração do banco de dados 'farhangi_db'.
(Microsoft.SqlServer.Management.RelationalEngineTasks)
------------------------------ INFORMAÇÕES ADICIONAIS:

System.Data.SqlClient.SqlError: BACKUP LOG não pode ser executado porque
não há backup de banco de dados atual. (Microsoft.SqlServer.SmoExtended)

Saman
fonte
2
Este é um backup diferencial?
Amir Keshavarz
@AmirrezaKeshavarz: o quê? (motavajeh nemisham manzuretuno)
Saman
1
Quero dizer que tipo de backup você vai restaurar? (backup do log de transações / backup completo / backup diferencial?)
Amir Keshavarz
Parece log de transações quebrado
bksi
Seu banco de dados existe? L
Amir Keshavarz

Respostas:

204

Originalmente, criei um banco de dados e restaurei o arquivo de backup em meu novo banco de dados vazio:

Clique com o botão direito em Bancos de dados> Restaurar banco de dados> Geral: Dispositivo: [o caminho do arquivo de backup] → OK

Isso estava errado . Eu não deveria ter criado primeiro o banco de dados.

Agora, em vez disso, faço o seguinte:

Clique com o botão direito em Bancos de dados> Restaurar banco de dados> Geral: Dispositivo: [o caminho do arquivo de backup] → OK

Saman
fonte
Eu corri o mesmo erro e funcionou para mim.
javiniar.leonard
Funcionou para mim também
nbhatti2001
127

Outra causa desse problema é quando a Take tail-log backup before restoreconfiguração "Opções" está ativada.

Na guia "Opções", desative / desmarque Take tail-log backup before restoreantes de restaurar para um banco de dados que ainda não existe.

pêssego
fonte
Obrigado @Peach, você economiza meu tempo.
Frank Myat Quinta-feira,
@Peach Thanks salvou meu tempo.
LKC
@Peach Muito obrigado!
Mohit Dharmadhikari
E marque a opção "COM SUBSTITUIR"
Andrii Horda
33

Por favor, veja a imagem abaixo e aplique as alterações no SqlServer:

primeiro clique com o botão direito em Banco de dados -> Tarefa -> Restaurar -> Selecionar arquivo de backup -> Aplicar finalmente a mudança na guia Opções .

aplique as alterações no SqlServer

AminGolmahalle
fonte
No meu caso, eu faço isso e marque a primeira caixa de seleção "Substituir o banco de dados existente (COM REPLACE)" e funciona.
Amaurys Sánchez
6
  1. Certifique-se de que haja um novo banco de dados.
  2. Certifique-se de ter acesso ao seu banco de dados (usuário, senha etc).
  3. Certifique-se de que haja um arquivo de backup sem erros.

Espero que isso possa ajudá-lo.

Oskar
fonte
2

Outra causa para isso é se você tiver o mesmo banco de dados restaurado com um nome diferente. Exclua o existente e, em seguida, a restauração resolveu para mim.

LothorienDanAdua
fonte
Obrigado pela resposta. Lol, por que o Microsoft SQL Server não poderia apenas dizer "Cara, exclua o banco de dados existente antes de restaurar!"
sivabudh
1

No nosso caso, foi devido ao modelo de recuperação no banco de dados primário ter sido alterado depois que fizemos o backup na preparação para configurar o envio de log.

Garantir que o modelo de recuperação foi definido como recuperação completa antes de fazer o backup e configurar o envio de log resolveu para nós.

Daniel Bowen
fonte
1

Corrigi meu erro ao restaurar para um banco de dados inexistente do SQL 2008 para o SQL 2014, colocando uma marca de seleção em Relocando para o novo local da pasta SQL2014.

Oscar Gonzalez
fonte
1

Você pode usar o seguinte SQL para restaurar se já tiver criado o banco de dados

RESTORE DATABASE [YourDB]
FROM DISK = 'C:\YourDB.bak'
WITH MOVE 'YourDB' TO 'C:\YourDB.mdf',
MOVE 'YourDB_Log' TO 'C:\YourDB.ldf', REPLACE
HasanG
fonte
0

Acabei de excluir o banco de dados existente que eu queria substituir com o backup e restaurei-o do backup e funcionou sem o erro.

Dongolo jeno
fonte
0

Não tenho certeza se o arquivo de backup do banco de dados que você está tentando restaurar vem do mesmo ambiente em que você está tentando restaurá-lo.

Lembre-se de que o caminho de destino dos arquivos .mdf e .ldf reside com o próprio arquivo de backup.

Se este não for o caso, isso significa que o arquivo de backup está vindo de um ambiente diferente do seu ambiente de hospedagem atual, certifique-se de que o caminho do arquivo .mdf e .ldf é o mesmo (existe) que em sua máquina, realoque-os caso contrário. (Principalmente um caso de restauração do banco de dados na imagem do Docker)

A maneira de fazer isso: Em Bancos de dados -> Restaurar banco de dados -> opção [Arquivos] -> (Marque "Realocar todos os arquivos para a pasta" - principalmente o caminho padrão já está preenchido em seu ambiente de hospedagem)

fortemente
fonte
0

Caso o problema persista, vá para a página Restaurar banco de dados e marque "Restaurar todos os arquivos para a pasta" na guia "Arquivos". Isso pode ajudar

Sarath
fonte
0

No meu caso, estou restaurando um banco de dados SQL Server 2008 R2 para SQL Server 2016 Depois de selecionar o arquivo na guia Geral, você deve ir para a guia Opções e fazer 2 coisas:

  1. Você deve ativar Substituir banco de dados existente
  2. Você deve desativar a cópia de fim de registro
Anibal Roman Crespo
fonte
-1

Simplesmente você pode usar este método:

  1. Se você tiver um banco de dados com o mesmo nome: WIN+R-> services.msc-> SQL SERVER(MSSQLSERVER)->Stop
  2. Vá para o caminho da pasta de dados MySQL e exclua os arquivos de banco de dados de visualizações
  3. Iniciar serviço sql
  4. Clique com o botão direito no banco de dados e selecione Restaurar banco de dados
  5. na guia Arquivos, altere a pasta do arquivo de dados e a pasta do arquivo de log
  6. Clique em OK para restaurar seu banco de dados

meu problema foi resolvido com este método POR ...

Mojtaba Rezaei
fonte
-1

Clique com o botão direito em seu banco de dados As tarefas da imprensa> Backup e faça um backup de seu banco de dados antes de restaurar seu banco de dados estou usando esta maneira para resolver este problema

Abkreno Pronce
fonte