mssqlserver2005还原数据库bak⽂件与“备份集中的数据库备份
与现有的xx数据。。。
mssql server 2005还原数据库bak⽂件,⽹站使⽤虚拟主机建站会经常遇到,⼀般情况下,主机商有在线的管理程序,但有时候没有的话,就需要本地还原备份sql数据库了。这种情况mssql server 2008也同样会出现,有时候会出现“备份集中的数据库备份与现有的xx数据库不同”的错误提⽰,本⽂也⼀并把解决⽅法说道说道。
第⼀部分,mssql server 2005(2008)还原数据库bak⽂件。
⼀、连接上数据库,右键数据库,选择新建数据库,输⼊你要还原数据库的名称。
⼆、确定后右键新建的数据库,如图操作。
三、点添加后,到bak存放路径,⽂件后缀是bak的才可以选中
四、图中红框处⼀定要勾选
五、点击确定即可还原,成功后会提⽰还原成功,希望可以帮到你
第⼆部分,mssql server 2005(2008)还原数据库bak⽂件提⽰“备份集中的数据库备份与现有的xx数据库不同”错误解决⽅法。
在还原数据库的时候报错:备份集中的数据库备份与现有的数据库不同SQLServer2005或者SQLServerExpress数据库在还原的时候出错。错误具体信息为:备份集中的数据库备份与现有“XXXX”数据库不同,其实,提⽰已经说明了问题的核⼼。解决防范如下。
SQL Server 2005/SQL Server 2008/Express⽅法/步骤
1
第⼀次尝试:新建了数据库XXXX,数据库⽂件放在D:\DB\XXXX⽬录下,选中该数据库右键-任务-还原-⽂件和⽂件组,在源设备中到备份⽂件XXXX.bak,⽬标数据库选中A,还原路径到E:\DB\XXXX⽬录下数据库⽂件(刚才所建数据库A的数据库⽂件),选择覆盖原数据库,点还原后出现错误:备份集中的数据库备份与现有“XXXX”数据库不同
2
第⼆次尝试:删除了数据库A,直接在根节点的数据库右键-还原数据库,出来对话框中先到备份⽂件XXXX.bak,此时⽬标数据库下拉框中⾃动出现跟备份⽂件中数据库名⼀样的数据库名称,选择它,
在选项的将数据库⽂件还原为中,把还原路径改为⾃⼰需要的
D:\DB\XXXX,⽂件名保留系统⾃带的,点还原后,成功还原。
3
总结:第⼀次还原出错的原因可能是,新建的数据库⽂件为XXXX.MDF和XXXX_Log.LDF,⽽还原的数据库⽂件为XXXX_Data.MDF和XXXX_Log.LDF,⽂件名不同,导致还原出错,第⼆次因为没有数据库⽂件,所以⽤的是还原的数据库⽂件名,因⽽能还原成功。
还有另外⼀种办法,5
因为是在另⼀台电脑对同名数据库做的备份,⽤常规⽅法还原,提⽰不是相同数据库,不让还原,在⽹上到下⾯的⽅法解决了:
⼀、右击系统数据库master,新建查询
执⾏以下SQL代码:
sql数据库备份文件RESTORE DATABASE xxx
FROM DISK = 'E:\DB\xxx.bak'  --bak⽂件路径
with replace,
MOVE 'xxx' TO 'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\xxx.mdf',  --mdf⽂件路径
MOVE 'xxx_log' TO 'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\xxx.ldf'  --ldf⽂件路径
注释:xxx是你需要还原的数据库名称,xxx.bak是你需要还原的备份⽂件。
⼆、上⾯⽅法执⾏成功后,只有部分的表结构已经还原,⽽且表中没有数据,这时就可以⽤系统默认的⽅法再⽤xxx.bak⽂件还原⼀次数据库就⼤功告成了,必须要选中覆盖还原哦。