[数据库]Sql server 数据库的备份和还原____还原数据库提示“介质集有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个。必须提供所有成员”的更多相关文章
- SQL SERVER 设置自动备份和删除旧的数据库文件
打开SQL SERVER MANAGEMENT STUDIO,启动SQL SERVER代理服务(注意在“控制面板-管理工具-服务”中设置SQL SERVER AGENT的启动类型为自动).启动后点击“ ...
- SQL Server 2012 从备份中还原数据库
1.首先把原数据库备份,检查原数据库的日志文件是否太大,如果过于大应该先收缩数据库日志 2.把备份的数据库文件在目标SQL Server还原,点击数据库,选择“还原文件或文件组” 3.如果需要修改还原 ...
- 项目经验——Sql server 数据库的备份和还原____还原数据库提示“介质集有2个介质簇,但只提供了1个。必须提供所有成员” .
在对数据库备份与还原的过程中,我遇到一个问题“介质集有2个介质簇,但只提供了1个.必须提供所有成员”,下面详细的介绍一下遇到问题的经过与问题解决的方法! 一.备份与还原遇到的问题描述与解决方法: 前两 ...
- 在SQL SERVER 2005中还原数据库时出现错误:system.data.sqlclient.sqlerror 媒体集有 2 个媒体簇 但只提供了 1 个。必须提供所有成员。 (microsoft.sqlserver.smo)
问题:在SQL SERVER 2005中还原数据库时出现错误:system.data.sqlclient.sqlerror 媒体集有 2 个媒体簇 但只提供了 1 个.必须提供所有成员. (micro ...
- SQL Server 2008、SQL Server 2008R2 自动备份数据库
让SQL Server 2008自动备份数据库,需要建立一个SQL Server作业,并启动SQL Server代理,使该作业定期运行. 具体来说,可以按以下步骤进行: 一.打开SQL Server ...
- SQL Server 2012不支持从SQL Server 2000的备份进行还原
错误: dbbackup failed: Unable to restore database 'ppt'Not valid backupThe database was backed up on a ...
- sql server ------创建本地数据库 SQL Server 排序规则
sql server完整复制数据库 sql server导入导出方法 SQL Server 排序规则
- 数据库SQL Server与C#中数据类型的对应关系
ylbtech- .NET-Basic:数据库SQL Server与C#中数据类型的对应关系 数据库SQL SServer与C#中数据类型的对应关系 1.A,返回顶部 数据库 C#程序 int int ...
- 数据库管理工具神器-DataGrip,可同时管理多个主流数据库[SQL Server,MySQL,Oracle等]连接
前言 DataGrip:Jet Brains出品的一款数据库管理工具(没错,是Jet Brains出品,必属精品).DataGrip整合集成了当前主流数据库(如:SQL Server, MySQL, ...
随机推荐
- Datediff的使用(统计本日,昨日,本周,本月)
//统计本日,昨日,本周,本月添加的产品总数 //日期 DateTime DT = DateTime.Now; string day=DT.Date.ToS ...
- Linux系统安装与初用
1.结合实验尝试,并查阅资料,总结在实验准备中提出的7个问题. (1).Linux的发行版本.内核版本:二者区别与联系. 核心版本主要是Linux的内核,发行版本是各个公司推出的版本,他们与核心版本是 ...
- 【Coucurrency-CountDownLatch】-20161203-0002
简介 java异步任务相关的工具.主要用在某些线程需要等到其他线程完成某些操作后才能执行的场景. 等待线程需要显示的调用wait方法,表示线程当前挂起,需要等到countdownLatch到0才执行. ...
- test for open live writer
this is a test article post by open live writer.
- AI之旅(2):初识线性回归
前置知识 矩阵.求导 知识地图 学习一个新事物之前,先问两个问题,我在哪里?我要去哪里?这两个问题可以避免我们迷失在知识的海洋里,所以在开始之前先看看地图. 此前我们已经为了解线性回归做了 ...
- paddlepaddle
1. 训练过程中cost出现nan 可能是因为有脏数据,寻找脏数据的方法就是,设置batch_size=1, paddle.reader.shuffle 中buf_size=1 一条一条的进行训练,看 ...
- 测试那些事儿-软测必备的linux知识(五)
1.进程管理 1.1进程概述 在Linux中,每个执行的程序都称为一个进程,每个进程都分配一个ID号 每个进程,都会对应一个父进程,这个父进程可以复制多个子进程, 每个进程可能以两种方式存在,前台与后 ...
- 关于Airtest的使用探索
一.Airtest的简介 Airtest是网易出品的一款基于图像识别和poco控件识别的一款UI自动化测试工具.Airtest的框架是网易团队自己开发的一个图像识别框架,这个框架的祖宗就是一种新颖 ...
- java面试题03
1.一个”.java”源文件中是否可以包含多个类(不是内部类)?有什么限制?一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?这个是可以的,一个“.java” ...
- java第三章笔记
java的基本程序设计结构: 1. 声明一个变量之后,必须用赋值语句对变量进行显示初始化,千万不能使用未被初始化的变量. 2.在java中不区分变量的声明与定义. 3.当参与/运算的两个操作数都是整数 ...