日期:2014-05-17  浏览次数:20514 次

SQL server 2005数据库还原数据库时错错?system.Data.SqlClient.SqlError: 媒体集有 2 个媒体簇,但只提供了 1 个。必须提供所有成员。 (Microsoft.SqlServer.Smo)请高手指点
SQL server 2005数据库还原数据库时错错?错误是:system.Data.SqlClient.SqlError: 媒体集有 2 个媒体簇,但只提供了 1 个。必须提供所有成员。 (Microsoft.SqlServer.Smo)

------解决方案--------------------
你备份的原始库是不是有次要数据文件 呀
------解决方案--------------------
貌似备份不完整,没有办法还原!
------解决方案--------------------
SQL code
--创建测试数据库
CREATE DATABASE db
GO

--使用磁盘媒体集备份测试数据库,备份完成后删除测试数据库
BACKUP DATABASE db 
    TO DISK='c:\a.bak',DISK='c:\b.bak'
    WITH FORMAT
DROP DATABASE db
GO

--1. 恢复时仅指定媒体集中的一个备份文件
RESTORE DATABASE db 
    FROM DISK='c:\a.bak'
/*--将收到错误信息
服务器: 消息 3132,级别 16,状态 1,行 3
数据库 'db' 的媒体集有 2 个家族成员,但只提供了 1 个。必须提供所有的成员。
--*/

--2. 再次备份时,仅指定备份媒体集中的一个备份文件
BACKUP DATABASE pubs
    TO DISK='c:\a.bak'
/*--将收到错误信息
服务器: 消息 3132,级别 16,状态 1,行 11
数据库 'pubs' 的媒体集有 2 个家族成员,但只提供了 1 个。必须提供所有的成员。
--*/

--3. 备份时,指定超过媒体集的备份文件数
BACKUP DATABASE pubs
    TO DISK='c:\a.bak',DISK='c:\b.bak',DISK='c:\c.bak'
/*--将收到错误信息
服务器: 消息 3132,级别 16,状态 1,行 1
数据库 'pubs' 的媒体集有 2 个家族成员,但只提供了 3 个。必须提供所有的成员。
--*/

--4. 重新初始化媒体集时指定所有的备份文件
BACKUP DATABASE pubs
    TO DISK='c:\a.bak'
    WITH INIT
/*--将收到错误信息
服务器: 消息 3132,级别 16,状态 1,行 2
数据库 'pubs' 的媒体集有 2 个家族成员,但只提供了 1 个。必须提供所有的成员。
--*/

--5. 指定完整的媒体集可以正常恢复数据库
RESTORE DATABASE db 
    FROM DISK='c:\a.bak',DISK='c:\b.bak'
/*--收到成功的信息
已处理 96 页,这些页属于数据库 'db' 的文件 'db'(位于文件 1 上)。
已处理 1 页,这些页属于数据库 'db' 的文件 'db_log'(位于文件 1 上)。
RESTORE DATABASE 操作成功地处理了 97 页,花费了 0.125 秒(6.299 MB/秒)。
--*/

--6. 使用FORMAT重写媒体头可以重建媒体集
BACKUP DATABASE pubs
    TO DISK='c:\a.bak'
    WITH FORMAT
/*--收到成功信息
已处理 208 页,这些页属于数据库 'pubs' 的文件 'pubs'(位于文件 1 上)。
已处理 1 页,这些页属于数据库 'pubs' 的文件 'pubs_log'(位于文件 1 上)。
BACKUP DATABASE 操作成功地处理了 209 页,花费了 0.230 秒(7.412 MB/秒)。
--*/

------解决方案--------------------
我也遇到了,同样的情况,不知道有哪位高手能帮着解决一下啊。谢谢啊。
------解决方案--------------------
System.Data.SqlClient.SqlError:无法在已有的文件上还原文件。请重新发出RESTORE语句,用WITH REPLACE来覆盖原先存在的文件,或者用WITH MOVE来标识替代位置。(microsoft.SqlServer.Smo)
------解决方案--------------------
这个就是我遇到的错误,不知道那位高手能帮忙解决一下。谢谢了。
------解决方案--------------------
顶~
------解决方案--------------------
探讨
System.Data.SqlClient.SqlError:无法在已有的文件上还原文件。请重新发出RESTORE语句,用WITH REPLACE来覆盖原先存在的文件,或者用WITH MOVE来标识替代位置。(microsoft.SqlServer.Smo)