首页 > 其他 > 详细

介质集、备份集、介质簇的了解

时间:2014-02-09 15:37:22      阅读:390      评论:0      收藏:0      [点我收藏+]

对于研究SQL Server备份的人来说,随着研究的深入,会接触到介质集、备份集、介质簇的概念。对我来说从字面上很难区分和理解这三者直接的区别。以下便整理整理这三者之间的关系

介质集

包含一个或多个备份介质的集合的备份构成一个介质集。"介质集”是“备份介质”(磁带或磁盘文件)的有序集合,使用固定类型和数量的备份设备向其写入一个或多个备份操作。介质集是在备份操作过程中通过格式化备份介质从而在备份介质上创建的。设置格式后,每个文件或磁带都包含介质集的介质标头,可以开始接收备份内容。有了标头后,备份操作会将指定数据备份到为该操作指定的所有备份设备中的备份介质。

介质簇

“介质簇”由在介质集中的单个非镜像设备或一组镜像设备上创建的备份构成。介质集所使用的备份设备的数量决定了介质集中的介质簇的数量。例如,如果介质集使用两个非镜像备份设备,则该介质集包含两个介质簇。

备份集

成功的备份操作将向介质集中添加一个“备份集”。从备份所属的介质集方面对备份集进行说明。如果备份介质只包含一个介质簇,则该簇包含整个备份集。如果备份介质包含多个介质簇,则备份集分布在各个介质簇之间。在每个介质上,备份集都包含说明备份集的标头。

单纯从以上的定义很难理解三者的定义,以下便说说我的理解

1、新建测试数据库,并进行首次完整备份;查看备份信息,如下图所示可知:每个备份集对应一个backup_set_id(1008),若此备份包含多个文件,则一个backup_set_id(1008)对应多个备份文件;可得出一个备份集可包含多个文件

bubuko.com,布布扣
--新建测试数据库
create database Test01
--修改恢复模式
alter database Test01 set recovery  full  with no_wait
--完整备份测试数据库
backup database Test01
to disk =ND:\backup\Test01_20140208_full.bak
bubuko.com,布布扣

bubuko.com,布布扣

2、执行相同备份语句,再看备份信息,如下图可知:非覆盖原有备份方式从新执行备份;会往原有介质集media_set_id(1007)中添加备份集backup_set_id(1009);且此备份文件会增大,增量即为完整备份此数据库的大小。

--完整备份测试数据库
backup database Test01
to disk =ND:\backup\Test01_20140208_full.bak

bubuko.com,布布扣

3、执行可覆盖原有备份的脚本,如下图可知:备份集1011在介质集1007的position回到1的位置,且备份文件的大小已经回到第一次备份的大小,可见同类型同名称的备份集已经被覆盖;由此可能会有疑惑如果是日志备份名字与完整备份相同,是覆盖还是增加呢?

bubuko.com,布布扣
--完整备份测试数据库
backup database Test01
to disk =ND:\backup\Test01_20140208_full.bak
with init
bubuko.com,布布扣

bubuko.com,布布扣

 4、日志备份,名字与完整备份的名字相同,如下图可知:并不会覆盖原有备份文件,而是会在原1007介质集后添加新的备份集

bubuko.com,布布扣
--日志备份测试数据库
backup log Test01
to disk =ND:\backup\Test01_20140208_full.bak
with init
bubuko.com,布布扣

bubuko.com,布布扣

 5、不同日志名称的备份,如下图可知:此已经属于不同的介质集,对应不同的介质簇;由此提出疑问,是否一个新备份名称一个介质簇,是否一个备份名称一个介质集呢?

--日志备份测试数据库
backup log Test01
to disk =ND:\backup\Test01_20140208_log.bak

 

bubuko.com,布布扣

6、将备份分在不同备份文件中,取相同的介质集名称,如下图可知:新有三个介质簇,新增一个介质集;由此可知备份名称对应介质簇,介质集对应备份行为,一个全新的备份行为并与之前的备份没有名称上关系对应一个介质集;且此次备份会将数据平分到三个备份文件。

bubuko.com,布布扣
backup database Test01
to disk =ND:\backup\Test01_20140208_full01.bak,disk =ND:\backup\Test01_20140208_full02.bak,disk =ND:\backup\Test01_20140208_full03.bak
with noinit,MEDIANAME = Test01MediaSet1
bubuko.com,布布扣

bubuko.com,布布扣

总结:从上面的测试过程可以得出以下几点

1、一个介质集包含多个介质簇。

2、一个介质集包行多个备份集。

3、介质簇的数量与备份名称一一对应,介质簇的数量决定于备份设备的数量。因此可通过多个介质簇进行备份镜像处理。将镜像备份放于不同备份设备中。

4、每执行一个备份就会有一个备份集,不管备份名称和语句是否相同

5、备份行为包括覆盖和非覆盖,由此建议日常自动化备份采用覆盖形式备份,以防止磁盘不足。

6、每个备份介质集的开始以初始化介质标头为开始,新的介质集以新的介质标头为标志。若无新的介质标头,则说明此备份要么覆盖原有备份集,要么追加到原有备份集。

介质集、备份集、介质簇的了解

原文:http://www.cnblogs.com/chhuang/p/3540596.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!