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

好久没写博客了,最近在做毕设的权限管理模块,今天在还原数据库文件时,遇到了“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。

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

时间: 2024-10-24 13:48:59

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

System.Data.SqlClient.SqlError: FILESTREAM 功能被禁用”的错误

还原sql2008数据库时遇到"System.Data.SqlClient.SqlError: FILESTREAM 功能被禁用"的错误,在网上搜索解决方案如下: 1.在"开始"菜单中,依次指向"所有程序"."Microsoft SQL Server 2008"和"配置工具",然后单击"SQL Server 配置管理器". 2.在服务列表中,右键单击"SQL Server 服务

在SQL SERVER 2005中还原数据库时出现错误:system.data.sqlclient.sqlerror 媒体集有 2 个媒体簇 但只提供了 1 个。必须提供所有成员。 (microsoft.sqlserver.smo)

问题:在SQL SERVER 2005中还原数据库时出现错误:system.data.sqlclient.sqlerror 媒体集有 2 个媒体簇 但只提供了 1 个.必须提供所有成员. (microsoft.sqlserver.smo) 原因:由于备份时,没有去掉默认的备份路径(C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\backup.bak),而又添加了一个新的路径,结果备份了两份,但它们之间彼此依赖,所以没有办法恢复

sql System.Data.SqlClient.SqlError: 无法覆盖文件 'C:\Program Files\Microsoft SQL Server\MSSQL\data\itsm_Data.MDF'。数据库 'my1' 正在使用该文件的解决方案

对数据库备份进行还原时遇到“sql System.Data.SqlClient.SqlError: 无法覆盖文件 'C:\Program Files\Microsoft SQL Server\MSSQL\data\itsm_Data.MDF'.数据库 'my1' 正在使用该文件”的问题. 产生原因:对一个数据库备份文件在两个数据库中进行还原时,这个问题的出现主要是因为还原第一个数据库和第二个数据库的名称是一样的,而且在第二个数据库还原时的物理路径时选的路径和第一个数据库还原路径一样. 解决方案:

System.Data.SqlClient.SqlError: 尚未备份数据库的日志尾部

SQL还原时出现下面的错误,System.Data.SqlClient.SqlError: 尚未备份数据库 "***" 的日志尾部.如果该日志包含您不希望丢失的工作,请使用 BACKUP LOG WITH NORECOVERY 备份该日志.请使用 RESTORE 语句的 WITH REPLACE 或 WITH STOPAT 子句来只覆盖该日志的内容. (Microsoft.SqlServer.Smo)原因分析:    这是因为在线还原的数据库在最后备份后又产生了新的日志,所以按照默认设

System.Data.SqlClient.SqlError: 无法执行 BACKUP LOG,因为当前没有数据库备份。

标题: Microsoft SQL Server Management Studio------------------------------ 还原数据库“GoldBellXZDepot”时失败. (Microsoft.SqlServer.Management.RelationalEngineTasks) ------------------------------其他信息: System.Data.SqlClient.SqlError: 无法执行 BACKUP LOG,因为当前没有数据库备份

出现“System.Data.SqlClient.SqlError: 尚未备份数据库的日志尾部”错误的解决方案

Sql Server2008数据库在还原时出现如下错误信息:System.Data.SqlClient.SqlError: 尚未备份数据库<数据库名称>的日志尾部.如果该日志包含您不希望丢失的工作,请使用 BACKUP LOG WITH NORECOVERY 备份该日志.请使用 RESTORE 语句的 WITH REPLACE 或 WITH STOPAT 子句来只覆盖该日志的内容. (Microsoft.SqlServer.Smo) 经过网上查阅的资料,有两种方法可以解决,只需要在还原的时候使

System.Data.SqlClient.SqlError: 备份集中的数据库备份与现有的 &#39;XXX&#39; 数据库不同。

转载:http://blog.csdn.net/kongxx/article/details/4959764 1. 删除与要恢复数据库同名的已经存在的数据库:2. 右击"数据库"选择"还原数据库":3. 在弹出窗口的目标数据库中输入要还原数据库名:4. 选择源设备,并选择源数据库备份文件:5. 点击确定,开始恢复数据库. System.Data.SqlClient.SqlError: 备份集中的数据库备份与现有的 'XXX' 数据库不同.

System.Data.SqlClient.SqlError:无法对过程&#39;XXX&#39; 执行 删除,因为它正用于复制。消息 3724,级别 16

遇到这么一个错误,想对[northwindcs]这个数据库搭建复制,从B服务器发布订阅到C服务器,采用备份还原进行初始化,但是在数据库还原时,报无法对过程‘XXX’执行删除,因为它正用于复制.表面上一看感觉有点奇怪,为什么我在还原数据库的时候会报这样的错误,还原数据库的机理是什么,怎么还存在删除某个存储过程或者视图之类的动作.但是后面“它正用于复制”给了我解决问题的思路. 通过对架构了解,B服务器上的northwindcs数据库也是从A服务器上订阅而来,采用的推送订阅,现因为A服务器是一套非常重

数据库备份与还原的过程中介质集有2个介质簇,但只提供了1个。必须提供所有成员

在对数据库备份与还原的过程中,我遇到一个问题"介质集有2个介质簇,但只提供了1个.必须提供所有成员",下面详细的介绍一下遇到问题的经过与问题解决的方法! 一.备份与还原遇到的问题描述与解决方法: 前两天用户测试我们做的评教系统小软件,有点问题我们过去看了看,想将他们的测试数据备份一下,以便我们修改软件测试使用. 我是这样备份的,数据库备份默认有一个路径:C\...,而我又添加了一个新路径,没将默认路径删除,而是选中新路径,我就理所当然的认为数据库中的数据备份到我新加的路径下了. 今天还