SQL Server2008中备份和还原数据库的时候出现“媒体集有2个媒体簇,但只提供了1个。必须提供所有成员”

时间:2022-05-20 00:42:10

今天在还原数据库是,竟然出现了如下错误:Sysem.Data.SqlClient.SqlError:媒体集有2个媒体簇,但只提供了1个。必须提供所有的成员。


(一)该现象的原因

      于是在网上收集了下,自己也亲自动手做了下试验,确实如网上说的一样。是由于你在备份数据库的时候,多添加了一个*.bak文件(这样你就将数据库“分段”备份到了2个数据库*.bak文件中了)如下图所示!而在你还原的时候,你只用了其中的一个*.bak文件还原。这样当然会出错。就像你买了个烧饼,你分给了你同学了一半,而你又想只用你的那个一半烧饼还原成整个烧饼一样,当然是不可能的。

(二)解决办法

       正如上面所说的,你要把分割的烧饼还原,你得把你同学的那份烧饼要回来,然后一起拼接还原了!就需要把2个bak文件一起还原了,或者,你干脆就在开始的时候别把烧饼给分了!自己一个人占有!所以我们有两个方法解决这个办法

(1)在做备份的时候,只用一个*.bak文件备份

 (2)如果已经备份分割了两块,你同时添加可以将2个bak做还原。如图所示

 
 (三)后续的问题,我在还原的时候出现了“备份集中的数据库备份与现有的数据库不同”的问题,在网上查了下,解决办法很简单!

 
1. 资源管理器--数据库

2. 右键数据库--还原数据库/还原文件和文件组--源设备

3. 浏览备份文件(bak或trn)

4. 在目标数据库填写要命名的数据库,确定即可完成

      其实也没上面麻烦,就是只要去一个数据库中不存在的数据名字就行了!

把碰到的问题记录下来!以供后面备查!也希望给大家带来些帮助!

 

来自:http://hi.baidu.com/iceipod/blog/item/90a94c81bcf0fe87f703a6af.html