位置:GZ医疗队 > 公益纪实 > 公益站长 > 网络技术 >
SQL Server 备份与恢复之六:介质集与备份集
来源:未知 作者:seagull8111 点击:次 时间:2013-04-19
本文主要来源于Microsoft《SQL Server 2008 R2联机丛书》。转裁请注明出处。
在备份操作过程中,将要备份的数据(即“备份数据”)写入物理备份设备。“物理备份设备”是指磁带机或操作系统提供的磁盘文件。可以将备份数据写入 1 到 64 个备份设备。如果备份数据需要多个备份设备,则所有设备必须对应于一种设备类型(磁盘或磁带)。
一、备份设备
SQL Server 早期版本需要在配置备份设备之后才能备份数据库。对于 SQL Server 2008,不需要明确地定义备份设备。不过,备份设备提供了一种简单的方式,用来确保多次创建的备份具有相同的文件名和位置。通过使用一致的名称和保存位置,可以更加容易地管理备份和还原过程。
“逻辑备份设备”是指向特定物理备份设备(磁盘文件或磁带机)的可选用户定义名称。通过逻辑备份设备,您可以在引用相应的物理备份设备时使用间接寻址。
磁盘备份设备是指包含一个或多个备份文件的硬盘或其他磁盘存储介质。备份文件是常规操作系统文件。指定备份文件时,应输入其完整路径和文件名。如果您在备份到文件时仅指定文件名或相对路径,则备份文件将存储到默认备份目录中。
如果在备份操作将备份数据追加到介质集时磁盘文件已满,则备份操作会失败。备份文件的最大大小由磁盘设备上的可用磁盘空间决定,因此,备份磁盘设备的适当大小取决于备份数据的大小。
重要提示: 我们建议备份磁盘应不同于数据库数据和日志的磁盘。这是数据或日志磁盘出现故障时访问备份数据必不可少的。
要让 SQL Server 访问远程磁盘文件,SQL Server 服务帐户必须有权访问网络共享。这包括备份操作向网络共享中写入所需的权限以及还原操作从网络共享中读取所需的权限(例如,使用域用户帐户)。
在 SQL Server 的以后版本中将不再支持磁带备份设备。磁带备份设备的用法类似于磁盘设备,但下述情况例外:
(1)磁带设备必须物理连接到运行 SQL Server 实例的计算机上。不支持备份到远程磁带设备上。
(2)如果磁带备份设备在备份操作过程中已满,但还必须写入一些数据,则 SQL Server 将提示更换新磁带并在加载新磁带后继续备份操作。
二、介质集(媒体集)
1、介质类型
包含一个或多个备份介质的集合的备份构成一个介质集。“介质集”是“备份介质”(磁带或磁盘文件)的有序集合,使用固定类型和数量的备份设备向其写入一个或多个备份操作。
2、添加备份介质
可以直接添加磁盘、磁带,也可以先将备份介质设置为“备份设备”然后再添加进来。
注意:必须指定介质集使用磁带机或磁盘驱动器,但不能同时使用两者。备份设备的类型和数量是在创建介质集时建立的,不能更改。但是,如有必要,可以在备份和还原操作之间将给定设备替换为同一类型的设备。
3、介质簇(媒体簇)
非镜像时,介质簇由介质集中的单个设备构成;镜像时,介质簇由一组镜像设备上创建的备份构成。介质集所使用的备份设备的数量决定了介质集中介质簇的数量。例如,介质集使用2个非镜像备份设备,则该介质集包含2个介质簇。
注意:在镜像介质中,所有介质簇也是镜像的。例如,如果使用六个备份设备来设置介质集的格式,其中使用了两个镜像,则有三个介质簇,每个介质簇包含两个相同的备份数据副本。
介质簇中的每个磁带或磁盘都分配了“介质序列号”。磁盘的介质序列号通常为 1。在磁带介质簇中,起始磁带的序列号为 1,第二盘磁带的序列号为 2,依此类推。
4、初始化介质集
介质集是在备份操作过程中通过格式化备份介质(一个或多个磁带或磁盘文件)从而在备份介质上创建的。格式化进程会对备份媒体进行以下更改:
(1)删除旧标头(如果存在),从而有效地删除备份媒体中以前的内容。格式化磁带设备会删除当前装入的磁带中以前所有内容。格式化磁盘只影响您为备份操作指定的文件。
(2)向每个备份设备中的备份媒体(磁带或磁盘文件)写入新的媒体标头。
设置格式后,每个文件或磁带都包含介质集的介质标头,可以开始接收备份内容。有了标头后,备份操作会将指定数据备份到为该操作指定的所有备份设备中的备份介质。
介质标头是在第一次使用磁带(或磁盘)执行备份操作时创建的,标头在重新格式化介质之前保持不变。介质标头的主要信息有:介质的名称(可选)、介质集的唯一ID、介质集中的介质簇数、包含此介质的介质簇的序列号、介质簇的ID、介质簇中此介质的序列号(对于磁盘文件,此值始终为1;对于磁带,起始磁带为1,第二盘磁带为2,依此类推)、创建标签的日期和时间、介质集中的镜像数(1至4,1表示设备未镜像)。
5、示例
下例将备份到一个介质集,备份前对新介质集执行格式化操作。该介质集包含2个磁盘文件和一个备份设备(同为磁盘文件)。
BACKUP DATABASE [AdventureWorks2008R2]
TO DISK = N'C:\Backup\BakFile1.bak',