由于当前没有数据库备份,因此无法执行BACKUP LOG


103

我试图还原数据库,但显示此消息。如何还原该数据库?

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

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


2
这是差异备份吗?
2013年

@AmirrezaKeshavarz:什么?(motavajeh nemisham manzuretuno)
萨满(Saman

1
我的意思是您要还原哪种备份?(事务日志备份/完整备份/差异备份?)
Amir Keshavarz

交易记录似乎已损坏
bksi 2013年

您的数据库是否存在?L
Amir Keshavarz

Answers:


204

最初,我创建了一个数据库,然后将备份文件还原到新的空数据库中:

右键单击数据库>还原数据库>常规:设备:[备份文件的路径]→确定

这是错的。我不应该先创建数据库。

现在,我这样做:

右键单击数据库>还原数据库>常规:设备:[备份文件的路径]→确定


我遇到了同样的错误,对我有用。
javiniar.leonard

也为我工作
nbhatti2001

127

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

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


谢谢@桃,您节省了我的时间。
Frank Myat 2015年

@Peach谢谢您节省了我的时间。
LKC

@Peach非常感谢!
Mohit Dharmadhikari'3

并检查选项“替换”
Andrii Horda'5

33

请参见下图并在SqlServer中应用更改:

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

请在SqlServer中应用更改


在我的情况下,我执行此操作并选中第一个复选框“覆盖现有数据库(替换)”并且可以正常工作。
AauaurysSánchez

6
  1. 确保有一个新的数据库。
  2. 确保您有权访问数据库(用户,密码等)。
  3. 确保其中有一个没有错误的备份文件。

希望这可以帮到你。


2

造成这种情况的另一个原因是,如果您使用不同的名称还原了相同的数据库。删除现有的,然后还原为我解决。


感谢你的回答。大声笑,为什么Microsoft SQL Server不能说“ Dude,请先删除现有数据库,然后再还原!”
sivabudh

1

在我们的例子中,这是由于在进行备份以准备设置日志传送之后,主数据库上的恢复模型已更改。

执行备份和设置日志传送之前,确保将恢复模型设置为完全恢复 从而为我们解决了该问题。



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

0

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


0

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

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

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

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


0

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


0

就我而言,我正在将SQL Server 2008 R2数据库还原到SQL Server2016。 在“常规”选项卡中选择文件之后,应该转到“选项”选项卡并执行2件事:

  1. 您必须激活覆盖现有数据库
  2. 您必须停用记录副本的结尾

-1

只需使用此方法即可:

  1. 如果您具有相同名称的数据库: WIN+R-> services.msc-> SQL SERVER(MSSQLSERVER)->Stop
  2. 转到您的MySQL Data文件夹路径并删除预览数据库文件
  3. 启动SQL服务
  4. 右键单击数据库,然后选择“还原数据库”
  5. 在文件选项卡中更改数据文件文件夹和日志文件文件夹
  6. 单击确定还原您的数据库

我的问题用这种方法解决了...


-1

单击右键单击数据库,然后按Press任务>“备份”,然后从数据库中进行备份,然后再还原数据库,我正在使用这种方式来解决此问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.