报错:备份集中的数据库备份与现有的数据库不同,解决办法

背景:Kettle工具使用SQL Server2005作为资源库,一直再做数据库备份,一次使用中Kettle崩溃,造成job步骤丢失,需要恢复资源库,就用以前的备份去恢复(数据库本地备份),结果提示备份集中的数据库备份与现有数据库不同。百度查到百度经验,已经忘了具体地址,从QQ空间转过来做个记录,以后遇到类似的问题方便查询。

SQL Server 2005、SQL Server 2008 R2或者SQL Server Express等数据库在还原的时候出错。错误具体信息为:备份集中的数据库备份与现有“XXXX”数据库不同
(注:2008 R2 实测可行,问题解决) 

工具/原料

 
  • SQL Server 2008 R2 / Express

方法/步骤

 
  1.  

    第一次尝试:新建了数据库XXXX,数据库文件放在D:\DB\XXXX目录下,选中该数据库右键-任务-还原-文件和文件组,在源设备中找到备份文件XXXX.bak,目标数据库选中A,还原路径找到E:\DB\XXXX目录下数据库文件(刚才所建数据库A的数据库文件),选择覆盖原数据库,点还原后出现错误:备份集中的数据库备份与现有“XXXX”数据库不同

  2.  

      第二次尝试:删除了数据库A,直接在根节点的数据库右键-还原数据库,出来对话框中先找到备份文件XXXX.bak,此时目标数据库下拉框中自动出现跟备份文件中数据库名一样的数据库名称,选择它,在选项的将数据库文件还原为中,把还原路径改为自己需要的D:\DB\XXXX,文件名保留系统自带的,点还原后,成功还原。

  3. 3

    总结:第一次还原出错的原因可能是,新建的数据库文件为XXXX.MDF和XXXX_Log.LDF,而还原的数据库文件为XXXX_Data.MDF和XXXX_Log.LDF,文件名不同,导致还原出错,第二次因为没有数据库文件,所以用的是还原的数据库文件名,因而能还原成功。

    END
  4.  

posted @ 2017-04-21 17:44  飞向狙沙  阅读(694)  评论(0编辑  收藏  举报