关闭

SQL SERVER 2008恢复数据错误解决:The backup set holds a backup of a database other than the existing

标签: sql serverdatabasemicrosoft数据库sqlserverdisk
8523人阅读 评论(0) 收藏 举报
分类:

今天从新加坡现场环境生成了一个数据库备份的文件发过来,我们两边用的都是Microsoft SQL Server 2008 R2,

在sqlServer20008 的management studio里使用bak文件还原数据库的时候,总是失败!

报"The backup set holds a backup of a database other than the existing ..."错。在网上查询了以下解决方法。

我用方法二解决问题。现总结如下:

方法一

--返回由备份集内包含的数据库和日志文件列表组成的结果集。
--主要获得逻辑文件名
USE master
RESTORE FILELISTONLY
   FROM DISK = 'g:\back.Bak' 
Go
--**********************************
/*
利用bak恢复数据库,强制还原(REPLACE)
STATS = 10 每完成10%显示一条记录
DBTest和DBTest_log是上面g:\back.Bak里的逻辑文件
*/
USE master
RESTORE DATABASE DB 
   FROM DISK = 'g:\back.Bak'
   WITH MOVE 'DBTest' TO 'E:\Program Files\Microsoft SQL Server2005\Data\DB.mdf', 
   MOVE 'DBTest_log' TO 'E:\Program Files\Microsoft SQL Server2005\Data\DB_log.ldf',
STATS = 10, REPLACE
GO
-------------------------------------

/*
备份数据DB 到.bak文件。然后利用此bak文件恢复一个新的数据库DBTest。
*/
USE master
BACKUP DATABASE DB 
  TO DISK = 'g:\DBBack0930.bak' 
RESTORE FILELISTONLY 
  FROM DISK = 'g:\DBBack0930.bak' 
RESTORE DATABASE DBTest 
  FROM DISK = 'g:\DBBack0930.bak' 
  WITH MOVE 'DBTest' TO 'E:\Program Files\Microsoft SQL Server2005\Data\DBTest.mdf', 
  MOVE 'DBTest_log' TO 'E:\Program Files\Microsoft SQL Server2005\Data\DBTest_log.ldf'
GO 
---******************************

方法二
需要注意两点:
在【选项】界面里
1.选择“覆盖现有数据库”
2.修改【将数据库文件还原为】区域里的【还原为】的位置,和要恢复的数据库的实际位置保持一致

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:145595次
    • 积分:1909
    • 等级:
    • 排名:千里之外
    • 原创:34篇
    • 转载:23篇
    • 译文:0篇
    • 评论:28条
    文章分类
    最新评论