sql2008备份集中的数据库备份与现有的xxx数据库不同解决方法

原文链接:https://wncbl.cn/54.html

问题描述

今天在配置一个 ASP 站点时,导入以前的数据库备份文件,提示:sql2008备份集中的数据库备份与现有的xxx数据库不同解决方法,百度之,发现是自己的操作步骤不对,特此记录。

环境

  • 系统环境:Hyper-V 下 windos server 2008 r2
  • 数据库: Microsoft SQL Server 2008

问题重现

  • 新建一个数据库,名称与要恢复的数据库名称一致

sql2008备份集中的数据库备份与现有的xxx数据库不同解决方法

  • 【数据库】上右键,【还原数据库】

sql2008备份集中的数据库备份与现有的xxx数据库不同解决方法

sql2008备份集中的数据库备份与现有的xxx数据库不同解决方法

  • 选择刚才新建的空数据库做为【目标数据库】,选择好【源设备】的文件路径,确定,错误重现,如下:

sql2008备份集中的数据库备份与现有的xxx数据库不同解决方法

正确操作

  • 直接在【数据库】上右键,选择【还原数据库】
  • 在【还原数据库】界面,配置好【源设备】的路径,【目标数据库】里面自动会出现你需要还原的数据库的名称,选择它
  • 刚才添加的备份集,点击确定即可。

番外

出现问题时百度,发现很多人遇到,有人提供如下方法,未亲测:

RESTORE DATABASE xxxx     -- xxxx-改为你自己的数据名称
FROM DISK = 'D:\db\xxxx.bak' --bak文件路径 xxxx-改为你自己的数据名称
with replace,
MOVE 'xxxx' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\xxxx.mdf', --mdf文件路径--xxxx-改为你自己的数据名称
MOVE 'xxxx_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\xxxx.ldf' --ldf文件路径xxxx-改为你自己的数据名称

注释:xxxx是你需要还原的数据库名称,xxxx.bak是你需要还原的备份文件。

上面方法执行成功后,只有部分的表结构已经还原,而且表中没有数据,这时就可以用系统默认的方法再用xxxx.bak文件还原一次数据库就大功告成了,必须要选中覆盖还原哦。

上一篇:angr进阶(2)C++程序的处理


下一篇:构建QML项目报错:No rule to make target ‘**‘, needed by ‘debug/qrc_qml.cpp‘.