问题描述
今天在配置一个 ASP 站点时,导入以前的数据库备份文件,提示:sql2008备份集中的数据库备份与现有的xxx数据库不同解决方法,百度之,发现是自己的操作步骤不对,特此记录。
环境
- 系统环境:Hyper-V 下 windos server 2008 r2
- 数据库: Microsoft SQL Server 2008
问题重现
- 新建一个数据库,名称与要恢复的数据库名称一致
- 【数据库】上右键,【还原数据库】
- 选择刚才新建的空数据库做为【目标数据库】,选择好【源设备】的文件路径,确定,错误重现,如下:
正确操作
- 直接在【数据库】上右键,选择【还原数据库】
- 在【还原数据库】界面,配置好【源设备】的路径,【目标数据库】里面自动会出现你需要还原的数据库的名称,选择它
- 刚才添加的备份集,点击确定即可。
番外
出现问题时百度,发现很多人遇到,有人提供如下方法,未亲测:
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文件还原一次数据库就大功告成了,必须要选中覆盖还原哦。