SQL Server 2005/SQL Server 2008/Express方法/步骤
1
第一次尝试:新建了数据库XXXX,数据库文件放在D:DBXXXX目录下,选中该数据库右键-任务-还原-文件和文件组,在源设备中找到备份文件XXXX.bak,目标数据库选中A,还原路径找到E:DBXXXX目录下数据库文件(刚才所建数据库A的数据库文件),选择覆盖原数据库,点还原后出现错误:备份集中的数据库备份与现有“XXXX”数据库不同
2
第二次尝试:删除了数据库A,直接在根节点的数据库右键-还原数据库,出来对话框中先找到备份文件XXXX.bak,此时目标数据库下拉框中自动出现跟备份文件中数据库名一样的数据库名称,选择它,在选项的将数据库文件还原为中,把还原路径改为自己需要的D:DBXXXX,文件名保留系统自带的,点还原后,成功还原。
3
总结:第一次还原出错的原因可能是,新建的数据库文件为XXXX.MDF和XXXX_Log.LDF,而还原的数据库文件为XXXX_Data.MDF和XXXX_Log.LDF,文件名不同,导致还原出错,第二次因为没有数据库文件,所以用的是还原的数据库文件名,因而能还原成功。
还有另外一种办法,sql server 2008,sql server 2005“备份集中的数据库备份与现有的xx数据库不同”解决方法
因为是在另一台电脑对同名数据库做的备份,用常规方法还原,提示不是相同数据库,不让还原,在网上找到下面的方法解决了:
一、右击系统数据库master,新建查询
执行以下SQL代码:
RESTORE DATABASE xxx
FROM DISK = 'E:DBxxx.bak' --bak文件路径
with replace,
MOVE 'xxx' TO 'D:Program FilesMicrosoft SQL ServerMSSQL10_50.MSSQLSERVERMSSQLDATAxxx.mdf', --mdf文件路径
MOVE 'xxx_log' TO 'D:Program FilesMicrosoft SQL ServerMSSQL10_50.MSSQLSERVERMSSQLDATAxxx.ldf' --ldf文件路径
复制代码
注释:xxx是你需要还原的数据库名称,xxx.bak是你需要还原的备份文件。
二、上面方法执行成功后,只有部分的表结构已经还原,而且表中没有数据,这时就可以用系统默认的方法再用xxx.bak文件还原一次数据库就大功告成了,必须要选中覆盖还原哦。