SQL2005数据库备份还原 媒体集有 2 个媒体簇,但只提供了 1 个 ??缺少的是什么呢 ?如果缺少的是 ldf ,那在恢复的时候,直接把 ldf 的选项去掉,然后再恢复就可以了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 给一个示例..--创建测试数据库CREATE DATABASE dbGO--使用磁盘媒体集备份测试数据库,备份完成后删除测试数据库BACKUP DATABASE db TO DISK='c:\a.bak',DISK='c:\b.bak' WITH FORMATDROP DATABASE dbGO--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/秒)。--*/ ===================================还原 对于 服务器“qim”失败。 (Microsoft.SqlServer.Smo)------------------------------有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.1399.00&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=还原+Server&LinkId=20476------------------------------程序位置: 在 Microsoft.SqlServer.Management.Smo.Restore.SqlRestore(Server srv) 在 Microsoft.SqlServer.Management.SqlManagerUI.SqlRestoreDatabaseOptions.RunRestore()===================================System.Data.SqlClient.SqlError: 媒体集有 2 个媒体簇,但只提供了 1 个。必须提供所有成员。 (Microsoft.SqlServer.Smo)------------------------------有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.1399.00&LinkId=20476------------------------------程序位置: 在 Microsoft.SqlServer.Management.Smo.ExecutionManager.ExecuteNonQueryWithMessage(StringCollection queries, ServerMessageEventHandler dbccMessageHandler, Boolean errorsAsMessages) 在 Microsoft.SqlServer.Management.Smo.BackupRestoreBase.ExecuteSql(Server server, StringCollection queries) 在 Microsoft.SqlServer.Management.Smo.Restore.SqlRestore(Server srv) 楼主是否就一个mdf文件,没有ldf文件.如果是这样,请先创建ldf,再去还原 你看看你的备份文件可是一个呢? 要不你直接用T-SQL 语句备份还原看怎样 终于搞出来了。原因分析: 1。备份的时候,旧路径没有删除,我添加了一个新路径,就无意中设置成了两个备份路径,SQL就会根据两个备份路径把备份文件分成两个。 2。还原的时候源数据必须把两个备份文件都加载上。 3。还原的新路径要手工修改成实际SQL的data文件夹路径。 4。如果有同名数据库,且需要覆盖的话,要修改设置。感谢各位的帮助。 如何用SQL查看数据库的记录总量 SQL返回表中某字段值位于表中的哪行 数据库备份问题 多个 join 串联的问题! 奇怪 oracle函数转换成sqlserver函数 字段拆分的问题 telnet 80端口通过,但是1433端口不通过,但是别的机器都可以 存储过程遇到XML问题 一个有难度的SQL问题,请各位帮助解决 DELPHI的ADO控件连接SQL SERVER,表数据修改不了,急救! sql server 2008 问题:跨语言安装 失败 sqlce 中不支持嵌套的SQL语句吗?
--创建测试数据库
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/秒)。
--*/
有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.1399.00&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=还原+Server&LinkId=20476------------------------------
程序位置: 在 Microsoft.SqlServer.Management.Smo.Restore.SqlRestore(Server srv)
在 Microsoft.SqlServer.Management.SqlManagerUI.SqlRestoreDatabaseOptions.RunRestore()===================================System.Data.SqlClient.SqlError: 媒体集有 2 个媒体簇,但只提供了 1 个。必须提供所有成员。 (Microsoft.SqlServer.Smo)------------------------------
有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.1399.00&LinkId=20476------------------------------
程序位置: 在 Microsoft.SqlServer.Management.Smo.ExecutionManager.ExecuteNonQueryWithMessage(StringCollection queries, ServerMessageEventHandler dbccMessageHandler, Boolean errorsAsMessages)
在 Microsoft.SqlServer.Management.Smo.BackupRestoreBase.ExecuteSql(Server server, StringCollection queries)
在 Microsoft.SqlServer.Management.Smo.Restore.SqlRestore(Server srv)
终于搞出来了。原因分析:
1。备份的时候,旧路径没有删除,我添加了一个新路径,就无意中设置成了两个备份路径,SQL就会根据两个备份路径把备份文件分成两个。
2。还原的时候源数据必须把两个备份文件都加载上。
3。还原的新路径要手工修改成实际SQL的data文件夹路径。
4。如果有同名数据库,且需要覆盖的话,要修改设置。感谢各位的帮助。