无法执行BACKUP LOG,因为没有当前的数据库备份

时间:2013-10-27 22:07:25

标签: sql-server

我尝试恢复数据库,但此消息显示。如何恢复此数据库?

  

恢复数据库'farhangi_db'失败。
  (Microsoft.SqlServer.Management.RelationalEngineTasks)
  ------------------------------其他信息:

     

System.Data.SqlClient.SqlError:无法执行BACKUP LOG,因为
  没有当前的数据库备份。 (Microsoft.SqlServer.SmoExtended)

14 个答案:

答案 0 :(得分:165)

右键点击数据库>还原数据库>一般:设备:[备份文件的路径]→确定

首先我创建了一个数据库,然后将备份文件恢复到我的新空数据库。这是错的。我不应该先创建数据库。

现在我这样做:

右键点击数据库>还原数据库>一般:设备:[备份文件的路径]→确定

答案 1 :(得分:110)

此问题的另一个原因是启用了Take tail-log backup before restore“选项”设置。

在“选项”选项卡上,在还原到尚不存在的数据库之前禁用/取消选中Take tail-log backup before restore

答案 2 :(得分:18)

  

请在SqlServer中应用更改->右键单击   数据库-任务->还原-选择备份文件->最后应用更改   选项标签

please apply changes in SqlServer

答案 3 :(得分:5)

  1. 确保有新数据库。
  2. 确保您可以访问您的数据库(用户,密码等)。
  3. 确保备份文件中没有错误。
  4. 希望这可以帮到你。

答案 4 :(得分:2)

另一个原因是,如果您使用其他名称还原了相同的数据库。 删除现有的,然后恢复为我解决了。

答案 5 :(得分:1)

在我们的情况下,这是由于我们在准备设置日志传送后进行备份后主数据库上的恢复模型已经更改。

确保在进行备份之前将恢复模式设置为完全恢复 并设置日志传送为我们解决了这个问题。

答案 6 :(得分:1)

通过在重新定位到新的SQL2014文件夹位置上设置复选标记,修复了从SQL 2008到SQL 2014还原到不存在的数据库的错误。

答案 7 :(得分:1)

如果您已经创建了数据库

,则可以使用以下SQL进行恢复
RESTORE DATABASE [YourDB]
FROM DISK = 'C:\YourDB.bak'
WITH MOVE 'YourDB' TO 'C:\YourDB.mdf',
MOVE 'YourDB_Log' TO 'C:\YourDB.ldf', REPLACE

答案 8 :(得分:0)

我刚刚删除了我想用备份覆盖的现有数据库,并从备份中还原了它,并且可以正常工作而没有错误。

答案 9 :(得分:0)

我不确定您尝试还原的数据库备份文件是否来自与您尝试还原到的数据库相同的环境。

请记住,.mdf和.ldf文件的目标路径与备份文件本身一起存在。

如果不是这种情况,则意味着备份文件来自与当前托管主机不同的环境,请确保.mdf和.ldf文件路径与您的计算机上的路径相同(存在),然后重新定位这些文件。除此以外。 (大多数情况下是在Docker映像中还原数据库)

方法: 在数据库->恢复数据库-> [文件]选项->中(选中“将所有文件重定位到文件夹”-大多数默认路径已在您的托管环境中填充)

答案 10 :(得分:0)

如果问题仍然存在,请转到“恢复数据库”页面,然后在“文件”选项卡中选中“将所有文件还原到文件夹”,这可能有帮助

答案 11 :(得分:0)

就我而言,我正在将SQL Server 2008 R2数据库还原到SQL Server 2016 在“常规”选项卡中选择文件后,您应该转到“选项”选项卡并执行以下两项操作: 1.您必须激活覆盖现有数据库 2.您必须停用记录副本的结尾

答案 12 :(得分:-1)

只需使用此方法:

  1. 如果您的数据库具有相同的名称: WIN+R - > services.msc - > SQL SERVER(MSSQLSERVER) - > Stop
  2. 转到MySQL数据文件夹路径并删除预览数据库文件
  3. 启动sql service
  4. 右键单击数据库,然后选择还原数据库
  5. 文件选项卡中的
  6. 更改数据文件文件夹和日志文件夹
  7. 单击“确定”以恢复数据库
  8. 我的问题用这种方法解决了 BY ...

答案 13 :(得分:-1)

单击右键单击您的数据库按任务>备份并从数据库备份,然后恢复数据库我正在使用这种方式来解决此问题