还原数据库备份文件时,关于“System.Data.SqlClient.SqlError:媒体集有2个媒体簇,但只提供了1个。必须提供所有成员”的处理方式

时间:2023-12-06 16:27:14

好久没写博客了,最近在做毕设的权限管理模块,今天在还原数据库文件时,遇到了“System.Data.SqlClient.SqlError:媒体集有2个媒体簇,但只提供了1个。必须提供所有成员”这个错误,百度了一下,找到了原因和解决方式。

原因分析:
1。备份的时候,旧路径没有删除,我添加了一个新路径,就无意中设置成了两个备份路径,SQL就会根据两个备份路径把备份文件分成两个。
2。还原的时候源数据必须把两个备份文件都加载上。
3。还原的新路径要手工修改成实际SQL的data文件夹路径。
4。如果有同名数据库,且需要覆盖的话,要修改设置。

解决办法:

1.在备份时只保留一个备份路径,产生一个备份文件即可~

2.如果真要恢复的话可以用以下示例去完成
RESTORE DATABASE db FROM DISK='c:\a.bak',DISK='c:\b.bak'
多个的话就用多个disk。

希望能其他遇到此问题的人提供解决方案。