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

今天还原数据库时,我只选择了D盘备份文件"YZTeacherEvaluate",提示这样一个错误:还原对于服务器“192.168.24.101”失败。 其他信息:System.Data.SqlClient.SqlError: 介质集有 2 个介质簇,但只提供了 1 个。必须提供所有成员。 (Microsoft.SqlServer.Smo) 。详情见图片:

我想让用户重新给我备份一下发过来,结果他操作过程中,将数据库给删除了,然后将C盘数据库备份文件给我发了过来,我误以为是他重新备份的,附加一下依然提示上述错误。突然想起来,将这两个文件一起还原,应该就没事了。
接下来,我重新还原数据库,将C盘和D盘备份的数据库文件同时附加上,还原成功了,数据还在,万幸啊!

二、数据库备份与还原需要注意的地方:
1.在做数据库的备份时,注意备份的“目标”中,最好是只有一个路径,如果多个路径,在还原时,则需要提供多个bak文件才能成功还原,否则还原失败,并提示“介质集有2个介质簇,但只提供了1个。必须提供所有成员”;备份目标只有一个路径,备份成功后,该路径生成一个bak文件,该文件是数据文件不包括该数据库的结构信息,如果在备份时“选项”中是选中“追加到现有的备份集”那么该文件并不是说一个文件就只存了一次备份的数据,而是保存着所有的备份信息,在你想还原的时候,会列出来供你选择哪一个版本是你想还原的;如果“选项”选中的是“覆盖所有现有的备份集”,那么就只有一份最新的了,也就是说一旦数据发生结构性变化时,比如增加或者删除了一个表的字段,那么很可能就还原不成功了。


2. 还有一个注意的地方,就是数据库备份只能是备份到本机
3. 还原时,有两种方式,一种是“数据库还原”,系统会在安装目录中找到该数据库的那份“最新”的备份;一种是“文件”还原,也就是可以通过数据文件bak来还原;不管是通过哪种方式来还原,有可能会出现以下错误“因为数据库正在使用,所以无法获得对数据库的独占访问权”,解决方法:重启数据库服务器;
4.以上是数据的备份还原,如果是要涉及数据库结构的备份,比如表结构,存储过程。。。。。的备份,有两种方法:一种就用“附加”mdf文件,这种方法当然会附带所有的信息,包括数据,但是在拿不到mdf的情况下,比如你要复制的数据库是别人的服务器的,而你的权限拿不到mdf的,就只能用以下这种方法,也就是另一种方法:首先对源数据库生成脚本(任务-生成脚本)从而得到该数据库的结构,再“导入数据”。
来源:项目经验——Sql server 数据库的备份和还原____还原数据库提示“介质集有2个介质簇,但只提供了1个。必须提供所有成员”
PS:如果没有把数据删除的话,可以重新备份,在备份前把备份历史路径全删除就可以了。
【问题&解决】还原数据库提示“介质集有2个介质簇,但只提供了1个。必须提供所有成员”的解决办法的更多相关文章
- [数据库]Sql server 数据库的备份和还原____还原数据库提示“介质集有2个介质簇,但只提供了1个。必须提供所有成员”
在对数据库备份与还原的过程中,我遇到一个问题“介质集有2个介质簇,但只提供了1个.必须提供所有成员”,下面详细的介绍一下遇到问题的经过与问题解决的方法! 一.备份与还原遇到的问题描述与解决方法: 前两 ...
- 项目经验——Sql server 数据库的备份和还原____还原数据库提示“介质集有2个介质簇,但只提供了1个。必须提供所有成员” .
在对数据库备份与还原的过程中,我遇到一个问题“介质集有2个介质簇,但只提供了1个.必须提供所有成员”,下面详细的介绍一下遇到问题的经过与问题解决的方法! 一.备份与还原遇到的问题描述与解决方法: 前两 ...
- Sql server 数据库的备份和还原数据库提示“ 加载的介质已格式化为支持 1 个介质簇,但根据指定的备份设备,应支持 2 个介质簇”
数据库备份和还原总结 在 "M:\2017-Pro\company\other\databak_2014-10\anquanbaowei_db_201704300200.BAK" ...
- 在SQL SERVER 2005中还原数据库时出现错误:system.data.sqlclient.sqlerror 媒体集有 2 个媒体簇 但只提供了 1 个。必须提供所有成员。 (microsoft.sqlserver.smo)
问题:在SQL SERVER 2005中还原数据库时出现错误:system.data.sqlclient.sqlerror 媒体集有 2 个媒体簇 但只提供了 1 个.必须提供所有成员. (micro ...
- (转载)解决MySql 数据库 提示:1045 access denied for user 'root'@'localhost' using password yes
今天想用用MySQL 数据库 谁知道老提示 1045 access denied for user 'root'@'localhost' using password yes 最后在csdn 上找到 ...
- SqlServer项目经验:介质集有2个介质簇,但只提供了1个。必须提供所有成员
在对数据库备份与还原的过程中,我遇到一个问题“介质集有2个介质簇,但只提供了1个.必须提供所有成员”,下面详细的介绍一下遇到问题的经过与问题解决的方法! 一.备份与还原遇到的问题描述与解决方法: 前两 ...
- 解决还原数据库是出现system.data.sqlclient.sqlerror filestream功能被禁用的问题
在master数据库下新建查询 输入如下语句: USE master GO RECONFIGURE 执行 成功还原数据库
- 解决MySql 数据库 提示:1045 access denied for user 'root'@'localhost' using password yes
今天想用用MySQL 数据库 谁知道老提示 1045 access denied for user 'root'@'localhost' using password yes 最后在csdn 上找到 ...
- 通过NBU还原数据库提示LINKING异常,无法恢复数据
错误提示: 解决方法:
随机推荐
- 【set】【可持久化Trie】The 16th UESTC Programming Contest Preliminary K - Will the circle be broken
题意:You are given an array A of N non-negative integers and an integer M. Find the number of pair(i,j ...
- 【Codeforces528D】Fuzzy Search FFT
D. Fuzzy Search time limit per test:3 seconds memory limit per test:256 megabytes input:standard inp ...
- 开发npm模块经验总结
1.在windows下开发的package.json的bin链接的全局命令可能会在linux下报错:“没有那个文件或目录”之类的错误...此时可以在linux下用vim打开bin链接的js文件,设置s ...
- CentOS 7下配置安装KVM
注意:KVM一切安装和运行都是在root用户下完成的,并且只有root才能支持某些软件. 一.准备工作: 1.关闭selinux,iptables,重启后生效 ##关闭selinux # sed -i ...
- select 语句的执行顺序
select 语句的执行顺序 借用ItZik Ben-Gan.Lubor Kollar.Dejan Sarka所著的<Sql Server 2005 技术内幕:T-SQL查询>的一段话足以 ...
- cat ,more ,less 命令的使用和差别
cat命令功能用于显示整个文件的内容单独使用没有翻页功能因此常常和more命令搭配使用,cat命令还有就是将数个文件合并成一个文件的功能. more命令功能:让画面在显示满一页时暂停,此时可按空格健继 ...
- 事件冒泡与捕获&事件托付
设想这样一种情况 一个div里面有个span元素 ,当鼠标单击span时,这个事件算是谁的? div还是span? 准确的说两个都触发了,这种认可大家都允许,事实就是这种, 第二个问题来了,这个事件 ...
- How to edit the init.rc in android
We have to perform the following steps to edit your init.rc successfully: . Download the BOOT (R ...
- Send a WhatsApp Message programatically -- Tasker WhatsTasker
Here is My code snippet: Uri mUri = Uri.parse("smsto:+9876543210"); Intent mIntent = new I ...
- windows的磁盘操作之九——区分本地磁盘与移动硬盘
http://cutebunny.blog.51cto.com/301216/674443 最近碰到了个新问题,记录下来作为windows的磁盘操作那个系列的续篇吧. 一些时候我们的程序需要区分本地存 ...