由于当前没有数据库备份,无法执行 BACKUPLOG

我试图恢复一个数据库,但这条消息显示。我如何恢复这个数据库?

还原数据库‘ farhangi _ db’失败。
(Microsoft. SqlServer. Management. RelationEngineTasks)
————————————其他信息:

系统。数据。 SqlClient.SqlError: 无法执行备份日志,因为
没有当前数据库备份。(Microsoft.SqlServer.SmoExtended)

156437 次浏览
  1. 确保有一个新的数据库。
  2. 确保您可以访问数据库(用户、密码等)。
  3. 确保备份文件中没有错误。

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

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

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

现在,我要做的是:

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

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

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

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

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

简单地说,你可以使用这种方法:

  1. 如果数据库具有相同的名称: WIN+R-> services.msc-> SQL SERVER(MSSQLSERVER)-> Stop
  2. 转到 MySQLData 文件夹路径并删除预览数据库文件
  3. 启动 sql 服务
  4. 右键单击 database 并选择 Restore database
  5. 在“文件”选项卡中更改“数据文件”文件夹和“日志文件”文件夹
  6. 单击 OK 恢复数据库

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

通过在“重新定位到新的 SQL2014文件夹位置”上加上一个复选标记,我修复了从 SQL2008恢复到不存在的 DB 到 SQL2014的错误。

如果已经创建了数据库,可以使用以下 SQL 进行还原

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

点击右键点击您的数据库新闻任务 > 备份,并采取备份从您的数据库恢复您的数据库我正在使用这种方式来解决这个问题

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

请参阅 下图并应用 SqlServer 中的更改:

第一个 右键点击数据库—— > 任务—— > 恢复—— > 选择备份文件—— > 最后在选项卡中应用更改

please apply changes in SqlServer

我只是删除了现有的数据库,我想重写与备份和恢复它从备份和它的工作没有错误。

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

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

如果不是这种情况,则意味着备份文件来自与当前托管文件不同的环境,请确保。Mdf 和。Ldf 文件路径与您机器上的相同(存在) ,否则请重新定位这些路径。 (主要是在 Docker 映像中恢复 db 的情况)

怎么做: 在 Databases-> Restore database-> [ Files ] option-> (勾选“重新定位所有文件到文件夹”-大多数默认路径已经在宿主环境中填充)

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

在我的例子中,我将 SQLServer2008R2数据库还原为 < strong > SQL Server 2016 在“常规”选项卡中选择文件后,应该进入“选项”选项卡并执行 2操作:

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