我试图恢复数据库,但显示此消息。如何恢复这个数据库?
数据库“farhangi_db”的恢复失败。
(Microsoft.SqlServer.Management.RelationalEngineTasks)
------------------------------ 附加信息:System.Data.SqlClient.SqlError:无法执行备份日志,因为
没有当前数据库备份。(Microsoft.SqlServer.SmoExtended)
我试图恢复数据库,但显示此消息。如何恢复这个数据库?
数据库“farhangi_db”的恢复失败。
(Microsoft.SqlServer.Management.RelationalEngineTasks)
------------------------------ 附加信息:System.Data.SqlClient.SqlError:无法执行备份日志,因为
没有当前数据库备份。(Microsoft.SqlServer.SmoExtended)
最初,我创建了一个数据库,然后将备份文件恢复到我的新空数据库:
右键单击数据库>还原数据库>常规:设备:[备份文件的路径]→确定
这是错误的。我不应该首先创建数据库。
现在,相反,我这样做:
右键单击数据库>还原数据库>常规:设备:[备份文件的路径]→确定
此问题的另一个原因Take tail-log backup before restore
是启用“选项”设置时。
在“选项”选项卡上,Take tail-log backup before restore
在还原到尚不存在的数据库之前禁用/取消选中。
希望这可以帮到你。
如果您已经创建了数据库,您可以使用以下 SQL 进行恢复
RESTORE DATABASE [YourDB]
FROM DISK = 'C:\YourDB.bak'
WITH MOVE 'YourDB' TO 'C:\YourDB.mdf',
MOVE 'YourDB_Log' TO 'C:\YourDB.ldf', REPLACE
在我们的例子中,这是因为在我们为设置日志传送而进行备份之后,主数据库上的恢复模型发生了变化。
在进行备份和设置日志传送之前确保将恢复模式设置为完全恢复,从而为我们解决了这个问题。
造成这种情况的另一个原因是,如果您以不同的名称恢复了相同的数据库。删除现有的然后恢复为我解决了它。
我通过在重定位到新的 SQL2014 文件夹位置上打勾,修复了从 SQL 2008 恢复到 SQL 2014 到不存在的数据库时出现的错误。
如果问题仍然存在,请转到“恢复数据库”页面并检查“文件”选项卡中的“将所有文件恢复到文件夹”这可能会有所帮助
我不确定您尝试恢复的数据库备份文件是否来自与您尝试恢复它的环境相同的环境。
请记住 .mdf 和 .ldf 文件的目标路径与备份文件本身一起存在。
如果不是这种情况,则意味着备份文件来自与当前托管环境不同的环境,请确保 .mdf 和 .ldf 文件路径与您的计算机上的相同(存在),否则请重新定位它们。(多为在 Docker 镜像中恢复 db 的情况)
如何做到这一点: 在数据库 -> 恢复数据库 -> [文件] 选项 -> (选中“将所有文件重新定位到文件夹” - 大多数默认路径已经填充在您的托管环境中)
我刚刚删除了我想用备份覆盖的现有数据库并从备份中恢复它并且它没有错误地工作。
在我的情况下,我正在将SQL Server 2008 R2数据库还原到SQL Server 2016 在“常规”选项卡中选择文件后,您应该转到“选项”选项卡并执行2件事:
- 您必须激活覆盖现有数据库
- 您必须停用记录副本的结尾
只需您可以使用此方法:
WIN+R
-> services.msc
-> SQL SERVER(MSSQLSERVER)
->Stop
我的问题通过这种方法解决了...
单击右键单击您的数据库按任务>备份并在恢复数据库之前从数据库中备份我正在使用这种方式来解决此问题