
第13章备份与还原 任何系统都不可莲免会出现各种形式的故障,而某些故障可能会导致数据库实重性的损 坏,所以做好数据库的备份工作极为重要。备份可以创建在磁盘、磁替等备份设备上,与备 份对应的是还原。本章将着重讨论数据库备份与还原的相关问题 13,1各份与还原的概述 131.1备份与还原概含 1.数据库备份 备份在某种介质上(磁带、磁盘等)存储数据库(成者其中一部分)的谱贝。 对SQL Server数据库或事务日志进行备份,线是记录在进行备份这一操作时数据库中 所有数据的状态,以便在数据牌造到破坏时能够及时地将其还原。执行备份燥作必须拥有对 数据库备份的权限许可,S.Sv©r只允许系统管理员、数据库所有者和数那库备份执行 者备份数据库。 数据岸答份前,需要我们对答粉内容、备份顿率以及数据答份存储介质进行计划。 ()备份内容 主要包括:系统数据库,用户数据库和事务日志, 系饶数据库记录了SS0rYT系统配置参数,用户资料以及所有用户数据库等重要信 是,主要包括ster、sdh和ode】数据库。 用户数据库中存储了用户的数据。由于用户数据库具有很强的区别性,即每个用户数据 库之同的数据一般都有根大差异,所以对用户数据库的备粉尤为重要。 事务日志记录了用户对数据的各种操作,平封系统会白动管理和推护所有的数据库事 务日志。相比数据库备份,事务日志备份所需要的时间较少,但是还原要的时间较长。 2山备份镜率 库备份颊率一般取决干修改数据库的顿繁程度以及一旦出现意外,丢失的工作量的大 小,还有发生意外丢失数据的可陵性大小。 米说,在正常使用阶段,对系统数据库的修改不会十分類繁,所以对系统数据库的各份 也不需要十分频繁,只要在执行某生语句成存错过程导致SCL server对系统数据库进行了 修改的时候备份。 当在用户数据库中执行了加入数据,创建索引等操作时,应该对用户数据库进行备份: 此外如果清障了事务日志,也位该备份数据库
第 13 章 备份与还原 任何系统都不可避免会出现各种形式的故障,而某些故障可能会导致数据库灾难性的损 坏,所以做好数据库的备份工作极为重要。备份可以创建在磁盘、磁带等备份设备上,与备 份对应的是还原。本章将着重讨论数据库备份与还原的相关问题。 13.1 备份与还原的概述 13.1.1 备份与还原概念 1. 数据库备份 备份在某种介质上(磁带、磁盘等)存储数据库(或者其中一部分)的拷贝。 对 SQL Server 数据库或事务日志进行备份,就是记录在进行备份这一操作时数据库中 所有数据的状态,以便在数据库遭到破坏时能够及时地将其还原。执行备份操作必须拥有对 数据库备份的权限许可,SQL Server 只允许系统管理员、数据库所有者和数据库备份执行 者备份数据库。 数据库备份前,需要我们对备份内容、备份频率以及数据备份存储介质进行计划。 ⑴ 备份内容 主要包括:系统数据库、用户数据库和事务日志。 系统数据库记录了 SQL Server 系统配置参数、用户资料以及所有用户数据库等重要信 息,主要包括 master、msdb 和 model 数据库。 用户数据库中存储了用户的数据。由于用户数据库具有很强的区别性,即每个用户数据 库之间的数据一般都有很大差异,所以对用户数据库的备份尤为重要。 事务日志记录了用户对数据的各种操作,平时系统会自动管理和维护所有的数据库 事 务日志。相比数据库备份,事务日志备份所需要的时间较少,但是还原需要的时间较长。 ⑵ 备份频率 库备份频率一般取决于修改数据库的频繁程度以及一旦出现意外,丢失的工作量的大 小,还有发生意外丢失数据的可能性大小。 来说,在正常使用阶段,对系统数据库的修改不会十分频繁,所以对系统数据库的备份 也不需要十分频繁,只要在执行某些语句或存储过程导致 SQL server 对系统数据库进行了 修改的时候备份。 当在用户数据库中执行了加入数据,创建索引等操作时,应该对用户数据库进行备份。 此外如果清除了事务日志,也应该备份数据库

围备份存储介质 用的答份存销介质包話硬世、磁带和命名管道等。 备粉应该按照需要经常进行,并进行有效的数据管理.SQL Server备份可以在数据牌 使用时进行,但是一般在丰高峰活动时答份效半更高。 注意:备份是一种十分耗贵时间和资源的操作,不能频繁操作。应该根据数据库使用情 况确定一个适当的备粉网期, 2数据库还星 备粉可以防止数据库遭受酸坏、介质失效或用户错误。备卧是还原数据库最容易和最能 防止意外的有效方法。没有备份,所有的数据都可能会丢失,面且将造成不可挽回的损失, 这时就不得不从源头重建数据:有了备份,万一数据库被规坏,就可以使川备份米还原数据 库。还原数据库是一个装载数据库的备份,然后应用事务日志重建的过程。应用事务日志之 后,数据库就会回到最后事务日志务份之前的秋态。在数据库备份之前,应该检查数据岸中 数据的一政性,这样才能保证利地还螺数据库备份,在数据库的还螺过程中,用户不修进 入数据库,当数据库技还原后,数据库中的所有数据都被替换掉。 如果数据岸做过完全答份和事务日志备份,那么还原它是很容易的。偶若保特着连续的 事务日志,就修快速地重新构造和建立数据库。在还原一个失效的数据库之前,调查失效背 后的原因是很重委的.如果数据牌的损坏是由介质错误引起的,那么就香要替换失败的介质。 情若是由于月户的月题而明起的,那么就需要针对发生的问题和今后如何蓬免采取相应的对 策。 还原数据库是一个装载最近备粉的数据库和应用事务日志米重建数据库到失效点的过 程。定点还原可以把数据库还原到一个固定时间点,这种透项仅适用于事务日志备份。当还 原事务日志备份时,必须按照它们建造的顺序还原。 13.1.2备份与还原方式 1,数据库备份方式 SqLS0r2000对所要备份内容的途项设置,提供了四种不同的方式 ()数据库完全备份 数据库完全备份Dadabase-coaplete)是整个数据库的一个拷贝。该备份拷贝在一个文 件里。 (白差异备份或称增量备份 数据库增量备份们adabase-differential)包含了自上次完全数据库备份以来数据库中
⑶ 备份存储介质 用的备份存储介质包括硬盘、磁带和命名管道等。 备份应该按照需要经常进行,并进行有效的数据管理。SQL Server 备份可以在数据库 使用时进行,但是一般在非高峰活动时备份效率更高。 注意:备份是一种十分耗费时间和资源的操作,不能频繁操作。应该根据数据库使用情 况确定一个适当的备份周期。 2. 数据库还原 备份可以防止数据库遭受破坏、介质失效或用户错误。备份是还原数据库最容易和最能 防止意外的有效方法。没有备份,所有的数据都可能会丢失,而且将造成不可挽回的损失, 这时就不得不从源头重建数据;有了备份,万一数据库被损坏,就可以使用备份来还原数据 库。还原数据库是一个装载数据库的备份,然后应用事务日志重建的过程。应用事务日志之 后,数据库就会回到最后事务日志务份之前的状态。在数据库备份之前,应该检查数据库中 数据的一致性,这样才能保证顺利地还原数据库备份。在数据库的还原过程中,用户不能进 入数据库,当数据库被还原后,数据库中的所有数据都被替换掉。 如果数据库做过完全备份和事务日志备份,那么还原它是很容易的。倘若保持着连续的 事务日志,就能快速地重新构造和建立数据库。在还原一个失效的数据库之前,调查失效背 后的原因是很重要的。如果数据库的损坏是由介质错误引起的,那么就需要替换失败的介质。 倘若是由于用户的问题而引起的,那么就需要针对发生的问题和今后如何避免采取相应的对 策。 还原数据库是一个装载最近备份的数据库和应用事务日志来重建数据库到失效点的过 程。定点还原可以把数据库还原到一个固定时间点,这种选项仅适用于事务日志备份。当还 原事务日志备份时,必须按照它们建造的顺序还原。 13.1.2 备份与还原方式 1. 数据库备份方式 SQL Server 2000 对所要备份内容的选项设置,提供了四种不同的方式: ⑴ 数据库完全备份 数据库完全备份(Dadabase-complete)是整个数据库的一个拷贝。该备份拷贝在一个文 件里。 ⑵ 差异备份或称增量备份 数据库增量备份(Dadabase-differential)包含了自上次完全数据库备份以来数据库中

所有变化的拷贝。 围事务日志备舒 事务日志备份(Transaction log》包含事务日志的拷贝,它包括数据库里所发生的每个 数据改动前后的映像。 ()数据库文作和文件组备份 数据库文件和文件组备份(File and filegr0)是针对某一个文件成文件组的拷贝。 2量据库还原方式 还原方式依载于数据库备份的方式不同而有所变化。通常。首先还原最近的数据库完全 备份,然后还原事务日志备份或增量备份。 ()完全还原方式 完全还原方式使用数据库备份和事务日志备份将数据库还原到故障点或特定即时点。为 保证这种还原程度,包括大容量操作(知SELECT INT0,CREATE INDEX和大容量装载数据) 在内的所有操作都将完整地记入日志。由于还原到任意即时点,这样数据文件的丢失和捐坏 不会导致工作损失。但是如果事务日志(此项十分重要)规坏,则必须重新做最新的日志备份 后进行的修改, (由简单还原方式 简单还原方式将数据库还票到上次备份处,但是无法将数据库还原到放障点成指定的即 时点,常用于还原最新的数据库完全备份和差异各粉,这种方式允许高性能大容量复制操作, 以及可以回收日志空间。但是必须重组最新的数暴库或者差异备份后的更改 )大容量日志记录还原方式 大容量日志记录还原方式为某些大规模或大容量复制操作提供最住性使和最少的日志 使用空间。与完全还原方式类似,必领十分注意保护事务日志记录。当日志备份包含大容量 更改时,大容量日志记录还原方式只允许数据库还原到事务日志备份的站尾处。不支持即时 点还单,这种方式节省日志空间,使川最小日志空间,但是如果日志损坏或者日志备份后发 生了大容量操作,则必须重做自上次备份后所做的更改。 13,2数据库的备份 13.2.1备份设备 在进行备粉以前必须创建或指定备份设备。备份授备是用来存储数据库、事务日志或文 件和文牛组备份的存储介质,可以是硬盘、磁带成管道。 备粉设备在硬盘中是以文件的方式存储的,与常规慢作系统文件一样。引用磁盘备份设
所有变化的拷贝。 ⑶ 事务日志备份 事务日志备份(Transaction log)包含事务日志的拷贝,它包括数据库里所发生的每个 数据改动前后的映像。 ⑷ 数据库文件和文件组备份 数据库文件和文件组备份(File and filegroup)是针对某一个文件或文件组的拷贝。 2. 数据库还原方式 还原方式依赖于数据库备份的方式不同而有所变化。通常,首先还原最近的数据库完全 备份,然后还原事务日志备份或增量备份。 ⑴ 完全还原方式 完全还原方式使用数据库备份和事务日志备份将数据库还原到故障点或特定即时点。为 保证这种还原程度,包括大容量操作(如 SELECT INTO、CREATE INDEX 和大容量装载数据) 在内的所有操作都将完整地记入日志。由于还原到任意即时点,这样数据文件的丢失和损坏 不会导致工作损失。但是如果事务日志(此项十分重要)损坏,则必须重新做最新的日志备份 后进行的修改。 ⑵ 简单还原方式 简单还原方式将数据库还原到上次备份处,但是无法将数据库还原到故障点或指定的即 时点。常用于还原最新的数据库完全备份和差异备份。这种方式允许高性能大容量复制操作, 以及可以回收日志空间。但是必须重组最新的数据库或者差异备份后的更改。 ⑶ 大容量日志记录还原方式 大容量日志记录还原方式为某些大规模或大容量复制操作提供最佳性能和最少的日志 使用空间。与完全还原方式类似,必须十分注意保护事务日志记录。当日志备份包含大容量 更改时,大容量日志记录还原方式只允许数据库还原到事务日志备份的结尾处。不支持即时 点还原。这种方式节省日志空间,使用最小日志空间。但是如果日志损坏或者日志备份后发 生了大容量操作,则必须重做自上次备份后所做的更改。 13.2 数据库的备份 13.2.1 备份设备 在进行备份以前必须创建或指定备份设备。备份设备是用来存储数据库、事务日志或文 件和文件组备份的存储介质,可以是硬盘、磁带或管道。 备份设备在硬盘中是以文件的方式存储的,与常规操作系统文件一样。引用磁盘备份设

备与引用任何其也操作系统文作一样,可以在服务器的本地磁盘上或共享料络资源的远程磁 度上定义强盒备份设备,做度备份设答根据需要可大可小。最大的文件大小相当于碳盒上可 用的闲置空问。如果在网络上将文件备份到远程计算机上的磁盘,使用命名规则的名称,以 \Servernane\Sharenane\Path\FiIe格式指定文件的位置, 提示:建议不要将数据库或事务日志备份到数据库所在的同一物理磁查上的文件中。如 果包合数据库的磁盘设备发生故障,由于备份位于问一发生故障的磁盘上,因此无法还原数 据库。 SQL.Serv©r使用物理设备名称或逻辑设各名称标试备份设备。物理备份设备是操作系 饶用米标识备份设备的名称,如d:backup\student..nk。逻妈备份设备是用米标识物理备 份设备的别名或公用名移,逐辑设备名称水久地存储在SQL Server内的系统表中。使用逻 辑备份设备的优点是引用它比引用物理设备名称简单。例如,逻辑设备名称呵以是 stud_backup,而物理设备名称期是d:hackup叫student,bnk,通常,备份域还原数据库时, 可以交替使用物理成正辑备份设备名移。 1.创建备份设备 创建备份时,必领选择存放备份数据的备份设备。在SQL Server2D00中,可以将数据 库、事务日志,文件和文件组备份到愿盘和磁带设备上。创建备份设备有两种方法: ()使用SLS0rver企业管理器创建备份设备 使用金业管理图创建备份设备的步置如下: 在企业管理器中展开服务器组。展开指定的服务器。展开“管理”文件夹,右击“备份”, 在弹出的快捷菜单中选择“新建答份设备”选项,打开“备份设备属性新设答”对话医。 如图13-1所示。在“名称”文本根中输入乏辑设餐的名称,在下面速释磁带成者磁世备粉 设备,并设置物理位置。当使用磁盘时,SqL.Sner允许将本地主机硬数和远程主机上的 硬业作为备份设备,备份设备在硬盘中是以文件的方式存储的。完成后,单击“确定”按钮 即可。图131备份设备属性对话框 (②使用系统存储过程创建备份设备 系统存储过程spad即device用米创建水久备份设备,所创建的备份设备的类型和名 称记素在数据库aster的sysdev1es系绕表中:未经sp_addunpdev1ce创建的备份设备为 临时授备。 在SQL Server中,使用sp_addumpdevice语句创建备份设备的语法形式如下: sp_addumpdevice [edevtype=]'device_type
备与引用任何其他操作系统文件一样。可以在服务器的本地磁盘上或共享网络资源的远程磁 盘上定义磁盘备份设备,磁盘备份设备根据需要可大可小。最大的文件大小相当于磁盘上可 用的闲置空间。如果在网络上将文件备份到远程计算机上的磁盘,使用命名规则的名称,以 \\Servername\Sharename\Path\File 格式指定文件的位置。 提示:建议不要将数据库或事务日志备份到数据库所在的同一物理磁盘上的文件中。如 果包含数据库的磁盘设备发生故障,由于备份位于同一发生故障的磁盘上,因此无法还原数 据库。 SQL Server 使用物理设备名称或逻辑设备名称标识备份设备。物理备份设备是操作系 统用来标识备份设备的名称,如 d:\backup\student.bak。逻辑备份设备是用来标识物理备 份设备的别名或公用名称。逻辑设备名称永久地存储在 SQL Server 内的系统表中。使用逻 辑备份设备的优点是引用它比引用物理设备名称简单。例如,逻辑设备名称可以是 stud_backup,而物理设备名称则是 d:\backup\student.bak。通常,备份或还原数据库时, 可以交替使用物理或逻辑备份设备名称。 1. 创建备份设备 创建备份时,必须选择存放备份数据的备份设备。在 SQL Server 2000 中,可以将数据 库、事务日志、文件和文件组备份到磁盘和磁带设备上。创建备份设备有两种方法: ⑴ 使用 SQL Server 企业管理器创建备份设备 使用企业管理器创建备份设备的步骤如下: 在企业管理器中展开服务器组,展开指定的服务器,展开“管理”文件夹,右击“备份”, 在弹出的快捷菜单中选择“新建备份设备”选项,打开“备份设备属性-新设备”对话框。 如图 13-1 所示。在“名称”文本框中输入逻辑设备的名称,在下面选择磁带或者磁盘备份 设备,并设置物理位置。当使用磁盘时,SQL Server 允许将本地主机硬盘和远程主机上的 硬盘作为备份设备,备份设备在硬盘中是以文件的方式存储的。完成后,单击“确定”按钮 即可。 图 13-1 备份设备属性对话框 ⑵ 使用系统存储过程创建备份设备 系统存储过程 sp_addumpdevice 用来创建永久备份设备,所创建的备份设备的类型和名 称记录在数据库 master 的 sysdevices 系统表中;未经 sp_addumpdevice 创建的备份设备为 临时设备。 在 SQL Server 中,使用 sp_addumpdevice 语句创建备份设备的语法形式如下: sp_addumpdevice [@devtype=]’device_type’

[elogicalnane=]'logical_nane', [ephysicalname=]'physical_nane' 其中,[devtype]'device_tpe'为备份设备的类型,侧如,Disk(硬查)、Pipe(金 名管道)、,Tape(磁带):[@logicalname]'logical_nane'为备份设备的逐辑名称,该逻铜 名称用于B家P和能ST0概语句中:[physicalnan=]'hysical_name'为备份设釜的物 理名称。物理名称必须道循操作系统文件名称的规则或者网络设备的通用命名规则,并且必 须使用完整的路径。 【例131】在磁世上创建一个备份设备,在查询分析图输入下列命令: USE国ster EXEC sp_ddunpdevice’disk”,'teacher_.backup', 'C:\Progran Files'Microsoft SOL Server \SSQL\BACKIP\teacher_backup.bak' 2则除备份设备 (仙)使用企业管理器到除设备 刚除备份设备与创建的过程类似,启动企业管理器一选择使用的服务器一选择“管理” 文件夹中的“备份”透项。在右边的窗格显示备份设备名称一右击需要酬除的备份设备一在 弹出的快捷菜单中选择“酬除”进项一在确认对话柜单击“是”,即可刷除答份设各 (心使用sp_dropdevice除设备 使用s印_dropdevice语句米制除备份设备的语法如下: sp_dropdevice [elogicalname=]'logical_name'[[edelfile=]'delfile' 其中,de1file是敏刷除数据库备份的操作系统中的物理文作。 【例13,2】酬除上面创建的备份设备。 EXEC sp_dropdevice teacher_backup' 13,2,2使用企业管理器进行备份 ()启动企业管理器,登承到指定的数据库服务器,打开数据库文件夹,用右键单击所 要进行备份的数据库图标,在弹出的快捷某单中选择所有任务,再选择“备份数据库”。 (②出现SQL Server备份对话框,对话框中有两个标签页,即常规和选项标签页, 围在常规标签页中,选择武备份数据库的名称、备份的名移,描述信息,备份的类型、 备份的介质、备份的执行到间。其中。数据库一完全、数据库一差异、事务日志以及文件 和文件组,分别表示完全备份、增量备份、事务日志和文件及文件组的备份。()在“目的
[@logicalname=]’logical_name’, [@physicalname=]’physical_name’ 其中,[@devtype=]’device_type’为备份设备的类型,例如,Disk(硬盘)、Pipe(命 名管道)、Tape(磁带);[@logicalname=]’logical_name’为备份设备的逻辑名称,该逻辑 名称用于 BACKUP 和 RESTORE 语句中;[@physicalname=]’physical_name’为备份设备的物 理名称。物理名称必须遵循操作系统文件名称的规则或者网络设备的通用命名规则,并且必 须使用完整的路径。 【例 13.1】在磁盘上创建一个备份设备,在查询分析器输入下列命令。 USE master EXEC sp_addumpdevice ’disk’, ’teacher_backup’, ’C:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\teacher_backup.bak’ 2. 删除备份设备 ⑴ 使用企业管理器删除设备 删除备份设备与创建的过程类似,启动企业管理器→选择使用的服务器→选择“管理” 文件夹中的“备份”选项,在右边的窗格显示备份设备名称→右击需要删除的备份设备→在 弹出的快捷菜单中选择“删除”选项→在确认对话框单击“是”,即可删除备份设备。 ⑵ 使用 sp_dropdevice 删除设备 使用 sp_dropdevice 语句来删除备份设备的语法如下: sp_dropdevice [@logicalname=]’logical_name’ [,[@delfile=]’delfile’] 其中,delfile 是欲删除数据库备份的操作系统中的物理文件。 【例 13.2】删除上面创建的备份设备。 EXEC sp_dropdevice ’teacher_backup’ 13.2.2 使用企业管理器进行备份 ⑴ 启动企业管理器,登录到指定的数据库服务器,打开数据库文件夹,用右键单击所 要进行备份的数据库图标,在弹出的快捷菜单中选择所有任务,再选择“备份数据库”。 ⑵ 出现 SQL Server 备份对话框,对话框中有两个标签页,即常规和选项标签页。 ⑶ 在常规标签页中,选择欲备份数据库的名称、备份的名称、描述信息、备份的类型、 备份的介质、备份的执行时间。其中,数据库---完全、数据库---差异、事务日志以及文件 和文件组,分别表示完全备份、增量备份、事务日志和文件及文件组的备份。⑷ 在“目的

组可以设置备份设备名移,“漆加”按征可以需加备粉设备:“到障”按组可以表示到除备份 设备:“内容”按钮可以显示有关备份设备的信息,单击“目的”选项组中的“添加”按钮, 打开“选择备份目的”对话框,在此对话根中可以选择备卧设备。或者设置一个文件名称来 备份数据库,例如,选择前面创建的备份设备stud_back知p,设置光成后,单击“确定”按 组,返同到“SqLS0v©r备份”对话框。》在“重写”组中可以遗择是香保存备份设备中 原有的备份。如果雷要保图,选释图13-2S0 L Server备份的对话框 “追如到煤体”项:如果覆盖以前的备份,则选择“重写现有煤体”项。 们如果要设置自动备份的时间。可透择“调度”复选框,其默认设置为“每1周在星 期日发生,在0:00:00”。可以单击后面带有3个省略号的技细来设置调度时间,此时会打 开“编铜调度”对话框。在“名称”文本框中可以输入调度的名称,在“调度类型”选项组 中可以达择调度类型,并设置调度时间。设置完域后,单击“确定”按钮,返回SqL.Sv©r 备份”对话框。 (们选择备份对话据的“选项”标签页,进入其对话框。在“选项”组有5个复选框, 自上面下分别表示:系统在备份完成后对备份数据进行检险:在备份完成后磁带自动卸带, 该复选项只对磁带介质有效,在备份前清除事务日志中的不活动日志内容,在备份前检查备 份介质集的名称和有效日期,选中该选项后,可以在文本框中输入要检查的备份介质集名移: 设置备粉集的失效日期。在“媒体集标鉴”组中,可以设置或更改介质的卷标。如果选定“初 始化并标识规体”复选熙,表示初始化介质,并设置委标,选中后可以输入介质集名称和介 质集描述。 侧最后,在“SqL.5er备份”对话框中,单击“确定”按纽,即可开始备份。 13.2.3使用向导进行备份 图13-3至13-10是使用向导进行备份的操作过程。读者可以按盟向导的提示一步一步 地完成备份的设置。 ()在企业管理器中展开服务器组,遗定指定的服务器。透拼主装单的“工具”菜单中 的“白导”选项,打开如图133所示的“选择向导”对话框。 (心展开“管理”。意择其中的“备份向导”遗项。单击“确定”按组,启动如图13-4 所示的“创建数据库备卧向导”。 图13-3选择向导图13-4欢迎使用向导对话框 围在欢连使用向导对话框中,单击“下一步”,出现如图135所示的“选择要备份的 数据库”对话照
组可以设置备份设备名称。“添加”按钮可以添加备份设备;“删除”按钮可以表示删除备份 设备;“内容”按钮可以显示有关备份设备的信息。单击“目的”选项组中的“添加”按钮, 打开“选择备份目的”对话框,在此对话框中可以选择备份设备,或者设置一个文件名称来 备份数据库。例如,选择前面创建的备份设备 stud_backup。设置完成后,单击“确定”按 钮,返回到“SQL Server 备份”对话框。⑸ 在“重写”组中可以选择是否保存备份设备中 原有的备份。如果需要保留,选择 图 13-2 SQL Server 备份的对话框 “追加到媒体”项;如果覆盖以前的备份,则选择“重写现有媒体”项。 ⑹ 如果要设置自动备份的时间,可选择“调度”复选框,其默认设置为“每 1 周在星 期日发生,在 0:00:00”。可以单击后面带有 3 个省略号的按钮来设置调度时间,此时会打 开“编辑调度”对话框。在“名称”文本框中可以输入调度的名称,在“调度类型”迭项组 中可以迭择调度类型,并设置调度时间。设置完成后,单击“确定”按钮,返回“SQL Server 备份”对话框。 ⑺ 选择备份对话框的“选顼”标签页,进入其对话框。在“选项”组有 5 个复选框, 自上而下分别表示:系统在备份完成后对备份数据进行检验;在备份完成后磁带自动卸带, 该复选项只对磁带介质有效;在备份前清除事务日志中的不活动日志内容;在备份前检查备 份介质集的名称和有效日期,选中该选项后,可以在文本框中输入要检查的备份介质集名称; 设置备份集的失效日期。在“媒体集标签”组中,可以设置或更改介质的卷标。如果选定“初 始化并标识媒体”复选框,表示初始化介质,并设置卷标,选中后可以输入介质集名称和介 质集描述。 ⑻ 最后,在“SQL Server 备份”对话框中,单击“确定”按钮,即可开始备份。 13.2.3 使用向导进行备份 图 13-3 至 13-10 是使用向导进行备份的操作过程。读者可以按照向导的提示一步一步 地完成备份的设置。 ⑴ 在企业管理器中展开服务器组,选定指定的服务器。选择主菜单的“工具”菜单中 的“向导”选项,打开如图 13-3 所示的“选择向导”对话框。 ⑵ 展开“管理”,选择其中的“备份向导”选项。单击“确定”按钮,启动如图 13-4 所示的“创建数据库备份向导”。 图 13-3 选择向导 图 13-4 欢迎使用向导对话框 ⑶ 在欢迎使用向导对话框中,单击“下一步”,出现如图 13-5 所示的“选择要备份的 数据库”对话框

图13-5选择要备份的数据库对话框图13-6输入备份名称和描述信息对话框 ()在数据库下拉式列表中选择需要备份的数据库,选择完毕后,单击“下一步”,出现 如图136所示的“输入备份名称和描运信息”对话框。 (③健入备份名称和描述信息后。单击“下一步”,出联如图13-7所示的“选择备份类 型”对话框。 间意择好备份类型后,单击“下一步”,出现如图13-8所示的“这择设置备份设备和 属性”对话根。 图13-7选择备份类型对话柜图13-8设置备份设备和属性对话框 ()设置好备份设备和属性后,单击“下一步,出现如图139所示的“备份验证和调 度”对话根。 侧设置好验证和调度的相关信息后,单击“下一步”,出现如图13-10所示的“确认执 行备份操作”对话框。 图139备份5验证和调度对话框图13-10确认执行备份操作对话框 )在“确认执行备份操作”对话医中,显示了答份设置信息精要。如果没有什么月题, 单击“完成”按钮,就可以开始创建备份了 13,2,4使用查询分析墨进行备份 使用Transact--Sg语句的BACP语句可以将整个数据库,文作及文作组和事务日志备 份到存储介质上(牧盘、硬盘、陋带等)。 1.数据库备份 ()使用BACP语句备份数据岸的语法形式 BACKUP DATABASE (database_name edatabase_nane_var) TO (backup_device>[....n] [VITH [DESCMPTION=('text'@text_varable) [C.]DIFFERBNTIAL] [C.JINIT I NOINIT] [[]MEDIANAVE-(media_nane @nedia_nane_variable) [[]NAME=(backup_set_nane I ebackup_set_name_var) (②参数说明 ①ACKUP DATAB4SE,指定一个数据库的完全备份, ②(database_.ae|database_nae_var】为武备份数据库的文件名或备份数据库的
图 13-5 选择要备份的数据库对话框 图 13-6 输入备份名称和描述信息对话框 ⑷ 在数据库下拉式列表中选择需要备份的数据库,选择完毕后,单击“下一步”,出现 如图 13-6 所示的“输入备份名称和描述信息”对话框。 ⑸ 键入备份名称和描述信息后,单击“下一步”,出现如图 13-7 所示的“选择备份类 型”对话框。 ⑹ 选择好备份类型后,单击“下一步”,出现如图 13-8 所示的“选择设置备份设备和 属性”对话框。 图 13-7 选择备份类型对话框 图 13-8 设置备份设备和属性对话框 ⑺ 设置好备份设备和属性后,单击“下一步”,出现如图 13-9 所示的“备份验证和调 度”对话框。 ⑻ 设置好验证和调度的相关信息后,单击“下一步”,出现如图 13-10 所示的“确认执 行备份操作”对话框。 图 13-9 备份验证和调度对话框 图 13-10 确认执行备份操作对话框 ⑼ 在“确认执行备份操作”对话框中,显示了备份设置信息摘要。如果没有什么问题, 单击“完成”按钮,就可以开始创建备份了。 13.2.4 使用查询分析器进行备份 使用 Transact-SQL 语句的 BACKUP 语句可以将整个数据库、文件及文件组和事务日志备 份到存储介质上(软盘、硬盘、磁带等)。 1. 数据库备份 ⑴ 使用 BACKUP 语句备份数据库的语法形式 BACKUP DATABASE {database_name | @database_name_var} TO [,...n] [WITH [DESCMPTION={’text’ | @text_varable}] [[, ]DIFFERBNTIAL] [[, ]INIT | NOINIT] [[, ]MEDIANAME={media_name | @media_name_variable}] [[, ]NAME={backup_set_name | @backup_set_name_var}] ] ⑵ 参数说明 ① BACKUP DATABASE,指定一个数据库的完全备份。 ② {database_name | @database_name_var}为欲备份数据库的文件名或备份数据库的

变量名。 ③(backup_device>,指定备粉操作到要使用的逐辑或物理备份设备。可以是以下两种 (logical_backup_device_name)(logical_backup_device_nane_var) 或者DIs球|TAE-'ysical_backup_device_nar”| ephysical_backup_device_nane_var 第一种情况表示指定由sp_addurpdevice创建的备份设备的逻辑名称,数据库将备份到 该设备中,第二种情况表示指定备粉设备的物理名称和设备类型。在执行BP语句之前 不必存在指定的物理设备。 ④DESCRIPTI0w'text'|text_variable,备份描述文本,最长可以有255个字 符。 回DIF下TIL,说明以差异备份的方式进行备份数据库。差异备份一般会比完整备 份占用更少的空间。 同WTT表示重写所有备份。以下两种情况除外:设备中的所有数据仍在有效期内: BCP语句给出的备份名称与该设备的名称不匹配。NOINIT表示本次备份迫加到介质中的 现有数暴后,面不厦盖原有的备份数据。OWIT是默认设置. ⑦EDIANAME-media_nane|edia_nae_variablel,说明备份介质名称,最多为 128个字符。假如指定了EDLANAVE,则它必须与以前指定的介质名称相匹配,该介质名称 己存在于备份卷中,假如没有指定DI风W虾,将不会对介质名称进行匹配检查。 同NAE-backup_set_ae|能ackup_set_nane_var],指定备份的名称,最长为128 个字符。 围简单例子 【例133】首先创建一个备份,然后对student数据库数一次完全备份。 USE国ster 00 EXEC sp_addunpdev1ce’disk”,'student_bp', 'c:\progran filesWicrosoft SQL Server\SSQL\BACKUP\student_bp.bak' BACKUP DATABASE student TO student_bp 2文件及文件组备份 ()使用BP备份登据文件及文件组语法形式 BACKUP DATABASE (database_nane @datahase_nane_var]
变量名。 ③ ,指定备份操作时要使用的逻辑或物理备份设备。可以是以下两种 情况:{logical_backup_device_name} | {@logical_backup_device_name_var} 或者 {DISK|TAPE}=’physical_backup_device_name’ | @physical_backup_device_name_var 第一种情况表示指定由 sp_addumpdevice 创建的备份设备的逻辑名称,数据库将备份到 该设备中。第二种情况表示指定备份设备的物理名称和设备类型,在执行 BACKUP 语句之前 不必存在指定的物理设备。 ④ DESCRIPTION={’text’ | @text_variable},备份描述文本,最长可以有 255 个字 符。 ⑤ DIFFERENTIAL,说明以差异备份的方式进行备份数据库。差异备份一般会比完整备 份占用更少的空间。 ⑥ INIT 表示重写所有备份。以下两种情况除外:设备中的所有数据仍在有效期内; BACKUP 语句给出的备份名称与该设备的名称不匹配。NOINIT 表示本次备份迫加到介质中的 现有数据后,而不覆盖原有的备份数据。NOINIT 是默认设置。 ⑦ MEDIANAME={media_name | @media_name_variable},说明备份介质名称,最多为 128 个字符。假如指定了 MEDIANAME,则它必须与以前指定的介质名称相匹配,该介质名称 己存在于备份卷中。假如没有指定 MEDIANAME,将不会对介质名称进行匹配检查。 ⑧ NAME={backup_set_name | @backup_set_name_var},指定备份的名称,最长为 128 个字符。 ⑶ 简单例子 【例 13.3】首先创建一个备份,然后对 student 数据库做一次完全备份。 USE master GO EXEC sp_addumpdevice ’disk’,’student_bp’, ’c:\program files\Microsoft SQL Server\MSSQL\BACKUP\student_bp.bak’ BACKUP DATABASE student TO student_bp 2. 文件及文件组备份 ⑴ 使用 BACKUP 备份数据文件及文件组语法形式 BACKUP DATABASE{database_name | @database_name_var}

[..n]To [....n] [VITH [DESCRIPTION={'text'etext variable]] [C.]DIFFERENTIAL] [C,]INIT I NOINIT)】 [[]MEDIANAME-(media nare enedia_nane_variable] [[]NAME=[backup_set_mane I ebackup_set_name_var} (的参数说明 (fi1e_or_filexroup)是指定包含在数据库备份中的文件域文件组的逻網名,可以指定 多个文件或文件组。例如file=[logical_file_ae|logica_file_.ae_var}给一个或 多个包含在数暴岸备份中的文件命名:filegroup-1 ogical_filegroup_nae| logical_filegroup_.nae_r}给一个或多个色含在数据库备份中的文件组命名, 注意,必须通过使用BACKUP LOG提供事务日志的单独备粉,才能使用文件和文件组备 份来还原数据库。如果还原方式为简单还原方式,则不允许文件和文件组备份。 3备份事务日志 ()使用BAKP语句备份事务日志的语法形式 BACKUP LOG (database_nare edatabase_name_var} TO cbackup_device>[....n] [VITH [BLOCKSIZE-(blocksize @blocksize_variable) [[]DESCMPTION=('text'I etext_varable)] [C.]FOROLAT NOFORMAT] [C.JINIT I NOINIT] [[]VEDIANAVE-(media_nane I @nedia_nane_variable) [[]NAME=(backup_set_nane I ebackup_set_name_var) [[]NO_TRUNCATE] [[](NORECOWERY STANDBY-undo_file_name) 心参数说明 ①OE00EY:备份日志尾部并使数据库处于正在还原的状态。只与BCPL0G一起 使用。 ②ST=undo_fIIe_a:备份日志尾部并使数据库处于只读或备用核式。撒清文 件名番定了容纳回滚更改的存储,如果随后应用SOEL0G操作,则必须量消这些回滚更
[,...n] TO [,...n] [WITH [DESCRIPTION={’text’ | @text variable}] [[,]DIFFERENTIAL] [[,]{INIT | NOINIT}] [[,]MEDIANAME={media name | @media_name_variable}] [[,]NAME={backup_set_name | @backup_set_name_var} ] ⑵ 参数说明 是指定包含在数据库备份中的文件或文件组的逻辑名,可以指定 多个文件或文件组。例如 file={logical_file_name | @logica_file_name_var}给一个或 多个包含在数据库备份中的文件命名;filegroup={logical_filegroup_name | @logical_fi1egroup_name_var}给一个或多个包含在数据库备份中的文件组命名。 注意:必须通过使用 BACKUP LOG 提供事务日志的单独备份,才能使用文件和文件组备 份来还原数据库。如果还原方式为简单还原方式,则不允许文件和文件组备份。 3. 备份事务日志 ⑴ 使用 BACKUP 语句备份事务日志的语法形式 BACKUP LOG {database_name | @database_name_var} TO [,...n] [WITH [BLOCKSIZE={blocksize | @blocksize_variable}] [[, ]DESCMPTION={’text’ | @text_varable}] [[, ]FORMAT | NOFORMAT] [[, ]INIT | NOINIT] [[, ]MEDIANAME={media_name | @media_name_variable}] [[, ]NAME={backup_set_name | @backup_set_name_var}] [[, ]NO_TRUNCATE] [[, ]{NORECOVERY | STANDBY=undo_file_name}] ] ⑵ 参数说明 ① NORECOVERY:备份日志尾部并使数据库处于正在还原的状态。只与 BACKUP LOG 一起 使用。 ② STANDBY=undo_f11e_name:备份日志尾部并使数据库处于只读或备用模式。撤消文 件名指定了容纳回滚更改的存储,如果随后应用 RESTORE LOG 操作,则必须撤消这些回滚更

改。只与BW属POG一起使用: @10G:指定只备份事务日志。该日志是从上一次成功执行了的L0G备份到当前日志的 末尾。一旦备粉日志,可隆会载断复制成活动事务不再需要的空间。 ①OG|TRLINCATE_ONLY:说明不作日志备份,只制除无效的日志部分,并且截断 日志。该选项项会释放空阿 同O_TRUNCATE,允许在数据库不可访问的情况下也备份日志。 挂意:使用DL0G或网A正NLY备份日志后,记录在日志中的更改不可还原。为 了还原,请立即执行ACKUP DATARASE. 因简单例子 【例13,1】备份数据库student和事务日志: SE国ster 00 EEsp_ddurpdevice’disk”,'student_bp_log”, 'c:\Progran Files\icrosoft SQL Server\MSSQL\BACKUP\student_bp_log.bak' BACKUP DATABASE student TD student_.bp一备份整个student数据库 BACKUP LOG student To student_bp_log 一备份student数据库的事务日志 此例,首先创建了日志备份设备,然后在完全备粉student数据库的基础上,将事务日 志备份到移为student_bp_log的备份设备上。用户可以通过事务日志备份来记录量据库的 变化,不过,必须在执行了完全备份且数据库有了事务日志之后,才能进行事务日志的备份, 13.3数据库的还原 数据库餐份后,一旦系统发生测渍成者执行了数据库的误操作,就可以从备份文件中还 原数据库,数据库还原是指将数据库斋份加载到系统中的过程。系统在还原数据库的过程中, 自动执行安全性检查、重建数据库结构以及完整数据库内容。 13.3.1使用企业管理器还原数据库 使用S可Server企业管理器还原数据岸的主要步骤为: 图13-1】数据库还原方式对话框图13-12文件组或文件还原方式对话框 ()打开服务器组。然后展开服务器。 (②打开“数据岸“文件夹,右击需要进行答粉的数暴库,在弹出的快捷菜菜单中选择 “所有任务“,选择“还原数据库”项,进入还原数据库备份对话框的“常规”标签页。 围在“还原为数据库”中可以这择需要还原的数据库
改。只与 BACKUP LOG 一起使用。 ③ LOG:指定只备份事务日志。该日志是从上一次成功执行了的 LOG 备份到当前日志的 末尾。一旦备份日志,可能会截断复制或活动事务不再需要的空间。 ④ NO_LOG | TRLINCATE_ONLY:说明不作日志备份,只删除无效的日志部分,并且截断 日志。该选项顼会释放空间。 ⑤ NO_TRUNCATE:允许在数据库不可访问的情况下也备份日志。 注意:使用 NO_LOG 或 TRUNCATE_ONLY 备份日志后,记录在日志中的更改不可还原。为 了还原,请立即执行 BACKUP DATABASE。 ⑶ 简单例子 【例 13.1】备份数据库 student 和事务日志。 USE master GO EXEC sp_addumpdevice ’disk’,’student_bp_log’, ’c:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\student_bp_log.bak’ BACKUP DATABASE student TO student_bp --备份整个 student 数据库 BACKUP LOG student TO student_bp_log --备份 student 数据库的事务日志 此例,首先创建了日志备份设备,然后在完全备份 student 数据库的基础上,将事务日 志备份到称为 student_bp_log 的备份设备上。用户可以通过事务日志备份来记录数据库的 变化。不过,必须在执行了完全备份且数据库有了事务日志之后,才能进行事务日志的备份, 13.3 数据库的还原 数据库备份后,一旦系统发生崩溃或者执行了数据库的误操作,就可以从备份文件中还 原数据库。数据库还原是指将数据库备份加载到系统中的过程。系统在还原数据库的过程中, 自动执行安全性检查、重建数据库结构以及完整数据库内容。 13.3.1 使用企业管理器还原数据库 使用 SQL Server 企业管理器还原数据库的主要步骤为: 图 13-11 数据库还原方式对话框 图 13-12 文件组或文件还原方式对话框 ⑴ 打开服务器组,然后展开服务器。 ⑵ 打开“数据库“文件夹,右击需要进行备份的数据库,在弹出的快捷莱菜单中选择 “所有任务”,选择“还原数据库”项,进入还原数据库备份对话框的“常规”标签页。 ⑶ 在“还原为数据库”中可以选择需要还原的数据库