刚在对测试服务器上的数据库进行数据更新, 还原新的数据库时, 出现错误, ‘介质集有2个介质簇,但只提供了1个。必须提供所有成员’, 试了各种方法,还原文件和文件组,勾选覆盖数据库, 删除原有数据库等操作, 均没有成功。
后来在网上查询了问题, 测试了其它的几个数据库,均能还原成功, 才发现问题所在, 一下是解决问题的方法,以及问题产生的原因:
在备份数据库的时候, 我们经常会发现, 点击备份数据, 数据库备份会默认有一个路劲 ‘c:......’, 或者是其它的当时创建数据库时候的文件选择路径。 再我们备份的时候, 经常会选择一个,自己要备份的盘, 例如‘E:\SqlBak\....’等, 在这个时候, 很多人都会认为, 这就是形成了两个完整的数据库备份, 而忽略去删除默认备份路径。
备份处理后, 我就直接将自己设置的备份文件, 复制,粘贴到本地,开始进行数据库备份还原, 然后就出现了问题提示:“还原对于服务器“192.168.18.0”失败。 其他信息:System.Data.SqlClient.SqlError: 介质集有 2 个介质簇,但只提供了 1 个。必须提供所有成员”, 详见图一所示。
然后我就查问题, 找答案, 发现很多说是因为数据库备份了2个, 但是我只还原了一个文件, 导致数据库还原失败, 然后就去服务器上找, 还是不理解, 就尝试用现在的数据库重新备份了下, 发现在备份的时候,有一个默认的备份路径, 而这边没有进行删除, 就尝试把再默认路径下找备份文件, 找到后, 将文件放在了本地, 与上一个文件同一个路径, 进行了还原操作, 如下图:
在尝试后, 发现还原成功了, 开心, happy
|