第十三章 备份还原
? 数据备份与还原综述
?备份和还原的基本概念
? 数据备份的类型
? 还原模式
? 备份的基本操作
? 还原的基本操作
? 数据的导入的基本操作
? 数据导出的基本操作
第十三章 备份还原
?备份和还原的基本概念
备份是指制作数据库结构、对象和数据的拷贝,以便在数据库遭
到破坏的时候能够修复数据库;
还原则是指将数据库备份加载到服务器中的过程。
SQLServer提供了一套功能强大的数据备份和还原工具,数据备
份和还原用于保护数据库中的关键数据。在系统发生错误的时候,可
以利用数据的备份来还原数据库中的数据。在下述情况下,需要使用
数据库的备份和还原:
1、存储媒体损坏:例如存放数据库数据的硬盘损坏。
2、用户操作错误:例如非恶意地或恶意地修改或删除数据。
3、整个服务器崩溃:例如操作系统被破坏,造成计算机无法启动。
4、需要在不同的服务器之间移动数据库时:把一个服务器上的某个
数据库备份下来,然后还原到另一个服务器中去。
第十三章 备份还原
?备份概述
由于 SQL Server支持在线备份,所以通常情况下可以 — 边进行备
份,一边进行其他操作,但是,在备份过程中不允许执行以下操作:
1、创建或删除数据库文件。
2、创建索引。
3、执行非日志操作。
4、自动或手工缩小数据库或数据库文件大小。
如果出现,则操作顺序:
1、如果以上各种操作正在进行当中,且准备进行备份,则备份处
理将被终止
2、如果在备份过程中,打算执行以上任何操作,则操作将会失败
而备份继续进行
?还原概述
还原是把遭受破坏、丢失的数据或出现错误的数据库还原到原来
的正常状态。这一状态是由备份决定的,但是为了维护数据库的 — 致
性,在备份中未完成的事务并不进行还原。
第十三章 备份还原
?备份和还原概述
进行备份和还原的工作上要是由数据库管理
员来完成的。实际上,数据库管理员日常比较重
要和频繁的工作就是对数据库进行备份和还原。
如果在备份或还原过程中发生中断,则可以
重新从中断点开始执行备份或还原。这在备份或
还原一个大型数据库时极有价值。
第十三章 备份还原
? 数据备份的设备类型
在 SQLServer 2000中有四种备份类型:
数据库备份 ( Database Backups)
事务日志备份 ( Transaction Log Backup)
差异备份 ( Differential Database Backups)
文件和文件组备份 ( File and File Group Backup)
第十三章 备份还原
? 数据库备份 ( Database Backups)
概念:数据库备份是指对数据库的完整备份,包括所有的数据以及
数据库对象。
过程:实际上备份数据库的过程就是首先将事务日志写到磁盘上,
然后根据事务创建相同的数据库和数据库对象以及拷贝数据的过程。
特点:由于是对数据库的完全备份,所以这种备份类型不仅速度较
慢,而且将占用大量磁盘空间。正因为如此,在进行数据库备份时,
常将其安排在晚间,因为此时整个数据库系统几乎不进行其他事务操
作,从而可以提高数据库备份的速度。
注意:
1、在对数据库进行完全备份时,所有未完成的事务或者发生在备
份过程中的事务都不会被备份。
2、如果使用数据库备份类型,则从开始备份到开始还原这段时间
内发生的任何针对数据库的修改将无法还原。
第十三章 备份还原
? 数据库备份 ( Database Backups)
数据库备份一般在下列要求或条件下使用:
1)数据不是非常重要,尽管在备份之后还原之前数据被修改,但
这种修改是可以忍受的。
2)通过批处理或其他方法,在数据库还原之后可以很轻易地重新
实现在数据损坏前发生的修改。
3)数据库变化的频率不大。
? 事务日志备份
事务日志备份是指对数据库发生的事务进行备份,包括从上次进行事务
日志备份、差异备份和数据库完全备份之后,所有已经完成的事务。在
以下情况下常选择事务日志备份:
1)不允许在最近一次数据库备份之后发生数据丢失或损坏的情况。
2)存储备份文件的磁盘空间很小或者留给进行备份操作的时间有限。
3)准备把数据库还原到发生失败的前一点。
4)数据库变化较为频繁的情况。
第十三章 备份还原
? 事务日志备份
特点:
1、事务日志备份需要的磁盘空间和备份时间都比数据库备份少得
多。
2、所以在备份时常采用这样的策略,即每天进行一次数据库备份
,而以 — 个或几个小时的频率备份事务日志。这样就可以将数据库还
原到任意一个创建事务日志备份的时刻。
缺点:
但是,创建事务日志备份相对比较复杂。因为在使用事务日志对数
据库进行还原操作时,还必须有一个完整的数据库备份,而且事务日
志备份还原时必须要按一定的顺序进行。比如,在上周末对数据库进
行了完整的数据库备份,在从周一到周末的每 — 天都进行一次事务日
志备份,那么若要打算对数据库进行还原,则首先还原数据库备份,
然后按照顺序还原从周 — 到本周末的事务日志备份。
第十三章 备份还原
? 差异备份
概念:
差异备份是指将最近 — 次数据库备份以来发生的数据变化备份
起来,因此,差异备份实际上是一种增量数据库备份。
特点:
1、与完整数据库备份相比,差异备份由于备份的数据量较小,
所以备份和还原所用的时间较短。
2、通过增加差异备份的备份次数,可以降低丢失数据的风险,
但是它无法像事务日志备份那样提供到失败点的无数据损失备份。
第十三章 备份还原
? 文件或文件组备份
文件或文件组备份是指对数据库文件或数据库文件组进行备份,
它不像完整的数据库备份那样同时也进行事务日志备份。使用该备份
方法可提高数据库还原的速度,因为它仅对遭到破坏的文件或文件组
进行还原。
在使用文件或文件组进行还原时,要求有一个自上次备份以来的
事务日志备份来保证数据库的一致性。所以,在进行完文件或文件组
备份后,应再进行事务日志备份,否则备份在文件或文件组备份中的
所有数据库变化将无效。
第十三章 备份还原
? 综述
在实际中为了最大限度地减少数据库还原时间以及降低数据损失数量
,一般经常一起使用数据库备份、事务日志备份和差异备份,从而采
用下面的备份方案:
1、有规律地进行数据库备份,比如每晚进行备份。
2、较小的时间间隔进行差异备份,比如三个小时或四个小时。
3、在相临的两次差异备份之间进行事务日志备份,可以每 10分钟或 30分钟
一次。
这样在进行还原时这时应该采用下面的方法,尽可能还原到数据库失
败的那一时刻,
1、如果能够访问数据库事务日志文件,则应备份当前正处于活动状态的事
务日志。
2、还原最近 — 次数据库备份。
3、接着,还原最近一次差异备份。
4、按顺序还原自差异备份以来进行的事务日志备份。
但是,如果无法备份当前数据库正在进行的事务,则只能把数据库还
原到最后 — 次事务日志备份的状态,而不是数据库的失败点。
第十三章 备份还原
? 还原模式
在 SQL Server 2000中有三种数据库还原模式,它们是:
简单还原( Simple Recovery)
完全还原( Full Recovery)
批日志还原( Bulk-logged Recovery)
第十三章 备份还原
? 简单还原 ( Simple Recovery)
概念:
简单还原就是指在进行数据库还原时仅使用了数据库备份或差
异备份,而不涉及事务日志备份。
特点:
1、简单还原模式可使数据库还原到上一次备份的状态。
2、但由于不使用事务日志备份来进行还原,所以无法将数据库
还原到失败点状态。
3、当选择简单还原模式时,常使用的备份策略是,首先进行数
据库备份,然后进行差异备份。
第十三章 备份还原
? 完全还原 ( Full Recovery)
概念:
完全数据库还原模式是指,通过使用数据库备份和事务日志备份
,将数据库还原到发生失败的时刻。
特点:
1、将数据库还原到发生失败的时刻,因此几乎不造成任何数据丢
失。这成为对付因存储介质损坏而数据丢失的最佳方法。
2、为了保证数据库的这种还原能力,所有的批数据操作,比如
SELECT INTO、创建索引都被写入日志文件。
3、选择完全还原模式时常使用的备份策略是,首先进行完全数据
库备份,然后进行差异数据库备份,最后进行事务日志的备份。如果
准备让数据库还原到失败时刻,则必需对数据库失败前正处于运行状
态的事务进行备份。
第十三章 备份还原
? 批日志还原 ( Bulk-logged Recovery)
批日志还原在性能上要优于简单还原和完全还原模式。它能尽最
大努力减少批操作所需要的存储空间。这些批操作主要是 SELECT
INTO、批装载操作(如批插入操作)、创建索引、针对大文本或图
像的操作(如 WRITETEXT及 UPDATETEXT)。选择批日志还原模
式所采用的备份策略与完全还原所采用的备份策略基本相同。
第十三章 备份还原
? 数据备份的基本操作
在进行备份以前首先必须创建备份设备, 数据库备份的设备类型包括:
磁盘备份设备
是指硬盘或其他磁盘类存储介质上的文件, 一般按照普通的操作
系统文件进行管理 。 磁盘备份设备可以定义在数据库服务器的本地磁
盘上, 也可以定义在通过网络连接的远程磁盘上 。
磁带设备
磁带设备必须直接物理连接在运行 SQL server服务器的计算机上,
不支持远程设备备份 。
命名管道设备
使用第三方的备份软件和设备 。 当用户使用此进行备份操作时,
需要在操作中给出客户端应用程序中使用的命名管道的名字 。
第十三章 备份还原
? 数据备份的基本操作
SQL server使用逻辑设备或物理设备两种方式来标识备份设备:
物理备份设备名主要来供操作系统对备份设备进行引用和管理 。
逻辑备份设备是无力备份设备的别名, 通常比物理备份设备更能
简单, 有效的描述备份设备的特征 。 逻辑设备名被永久保存在 SQL
server系统表中 。 使用逻辑备份设备名的好处在于可以用一种相对简
单的方式实现对物理设备的引用 。
执行数据库的备份或恢复操作过程中, 用户既可以使用逻辑备份
设备名又可以使用物理备份设备名 。
第十三章 备份还原
? 数据备份的基本操作
1、使用 Enterprise Manager
创建备份设备
1) 启动 Enterprise
Manager,登录到想要增加
备份设备的服务器;
2) 在 Enterprise Manager
的左窗格中打开“管理”文
件夹,可看到“备份”图标;
3) 用右键单击“备份”图
标,在弹出的快捷菜单中,
单击“新建备份设备”菜单
项,如图右图所示,然后弹
出“备份设备属性”对话框;
第十三章 备份还原
? 数据备份的基本操作
1、使用 Enterprise Manager创建
备份设备
4) 在该对话框的“名称”栏中
,输入设备名称,该名称是备份
设备的逻辑名;
5) 选择备份设备类型。如果选
择“文件名”表示使用硬盘做备
份。只有正在创建的设备是硬盘
时,该选项才起作用。如果选择
“磁带驱动器名”表示使用磁带
设备,只有正在创建的备份设备
是与本地服务器相连的磁带设备
时,该选项才起作用。
6) 然后单击“确定”,则创建
备份设备。
第十三章 备份还原
? 数据备份的基本操作
2、使用 Enterprise Manager删除备份设备
1) 启动 Enterprise Manager,登录到服务器。
2) 在 Enterprise Manager的左窗格中打开“管理”文件夹,可看到
“备份”图标。
3) 单击“管理”图标,则在右面窗格中会显示出目前已经创建的
各备份设备,用右键单击要删除的备份设备,在弹出的菜单中选择
“删除”选项,则删除该备份设备。
3、系统数据库备份操作
在备份用户数据库的同时,如果需要还原整个系统,则还需要备
份系统数据库。这使得在系统或数据库发生故障(例如硬盘发生故
障)时可以重建系统。下列系统数据库的定期备份很重要,master数
据库,msdb数据库,distribution数据库,model数据库。
注意:不可能备份 tempdb系统数据库,因为每次启动 Microsoft SQL
Server实例时都重建 tempdb。 SQL Server实例在关闭时将永久删除
tempdb中的所有数据。
第十三章 备份还原
? 数据备份的基本操作
4、数据库备份
在 SQL Server 2000中可以使用 BACKUP DATABASE语句创建数
据库备份,也可以使用企业管理器以图形化的方法进行备份,这里
只介绍使用企业管理器进行备份。在 SQL Server中无论是数据库备
份,还是事务日志备份、差异备份、文件或文件组备份都执行相同
的步骤。使用 Enterprise Manager进行备份有如下几个步骤:
1)启动 Enterprise Manager,登录到指定的数据库服务器。
2)在左窗格中,打开“数据库”文件夹,右击要进行备份的数据
库图标,在弹出菜单上选择“所有任务”,在下级子菜单中选择“
备份数据库”菜单项,单击则弹出,SQL Server备份”对话框。
3)在 SQL Server备份”对话框的“常规”选项卡的“备份”选项
栏内选择要进行备份的类型。
4)通过单击“添加”按钮来选择备份设备。然后弹出“选择备份
目的”对话框,可选择“文件名”单选按钮,并给出文件名和路径;也可以选择“备份设备”单选按钮,然后从组合框中选择备份设
备。
第十三章 备份还原
? 数据备份的基本操作
4、数据库备份
5)在,SQL Server备份”对话框的“常规”选项卡的“重写”选
项栏中,若选择了“追加到媒体”单选按钮,则将备份内容添加到
当前备份之后;若选择了“重写现有媒体”单选按钮,则将原备份
覆盖。
6)“调度”复选框,可对备份的时间表进行设置。单击右面的按
钮来改变备份的时间安排,在弹出的“边际调度”对话框中设定备
份操作进行的时间。
7)在“名称”中输入备份任务名称,默认为“第 1调度”,在“调
度类型”选项栏中,选择调度类型。可以单击“更改”按钮来改变
当前默认的备份时间设置。单击“更改”按钮后,会弹出“编辑反
复出现的作业调度”对话框。
8)在“编辑反复出现的作业调度”对话框中按自己的要求设置备
份的时间,然后单击“确定”按钮,完成时间设置。
第十三章 备份还原
? 数据备份的基本操作
4、数据库备份
9)在,SQL Server备份”对话框中选择“选项”选项卡来进行附
加设置。
10)在“选项”栏中通过单击复选框进行选择,如果选中了“完成
后验证备份”,表示 SQL Server会阅读全部备份,检查备份介质是
否可读,保证介质的完整性;如果选中了“备份后弹出磁带”,表
示备份完成后立即弹出磁带;如果选中了“检查媒体集名称和备份
集到期时间”,表示检查选定的介质和备份设置是否无效;如果选
中了“备份集到期时间”,则应选择如何对已有的备份设备进行覆
盖,其中,“于 … 之后”表示磁带或文件被覆盖前的天数,“于”
表示磁带或文件被覆盖的日期。
11)单击“确定”按钮,则创建备份。
第十三章 备份还原
? 数据备份的基本操作
5、数据库的还原
利用 Enterprise Manager还原数据库的方法和步骤如下:
1)启动 Enterprise Manager,单击要登录的数据库服务器,在左窗格
中,打开“数据库”文件夹,右击要进行备份的数据库图标,在弹出
菜单上选择“所有任务”。在下级子菜单中选择“还原数据库”菜单
项,弹出“还原数据库”对话框。
2)在“还原为数据库”旁的下拉列表中,选择要还原的数据库。
3)在“还原”组中,通过单击单选按钮来选择相应的数据库备份类型

4)在“参数”栏中,在“显示数据库备份”旁的下拉列表中选择数据
库。如果该数据库已经执行了备份,那么在表格对话框中就会显示备
份历史;从“要还原的第一个备份”旁的下拉列表中,选择要使用哪
个备份来还原数据库,在缺省情况下使用最近的一次备份。
5)选中“选项”选项卡进行其他选项的设置。
6)在设置完选项之后,单击“确定”按钮,数据库开始进行还原。
第十三章 备份还原
? 数据备份还原计划
通常,选择那种类型的备份是依赖所要求的还原能力(如将数据
库还原到失败点)、备份文件的大小(如完成数据库备份、只进行事
务日志的备份或是差异数据库备份)以及留给备份的时间等来决定。
常用的备份方案有:仅进行数据库备份,或在进行数据库备份的同时
进行事务日志备份,或使用完整数据库备份和差异数据库备份。
选用何种备份方案将对备份和还原产生直接影响,而且决定了数据库
在遭到破坏前后的 — -致性水平。所以在做决策时,必须考虑到以下几
个问题:
1)如果只进行数据库备份,那么将无法还原最近一次数据库备份以
来数据库中所发生的所有事务。这种方案的优点是简单,而且在进行
数据库还原时操作也很方便。
2)如果在进行数据库备份时也进行事务日志备份,那么可以将数据
库还原到失败点。那些在失败前未提交的事务将无法还原,但如果您
在数据库失败后立即对当前处于活动状态的事务进行备份,则未提交
的事务也可以还原。
第十三章 备份还原
? 数据备份还原计划
SQL Server提供了几种方法来减少备份或还原操作的执行时间:
1)使用多个备份设备来同时进行备份。同理,可以从多个备份设备
同时进行数据库还原操作。
2)综合使用完整数据库备份、差异备份或事务日志备份来减少每次
需要备份的数据量。
3)使用文件或文件组备份以及事务日志备份,这样可以只备份或还
原那些包含相关数据的文件,而不是整个数据库。
总之,在实际应用中备份策略和还原策略的选择不是相互孤立的
,而是有着紧密联系的。不能仅仅因为数据库备份为数据库还原提供
了原材料,在采用何种数据库还原模式的决策中,只考虑该怎样进行
数据库备份。另外,在选择使用哪种备份类型时,应该考虑到当使用
该备份进行数据库还原时,它能把遭到损坏的数据库返回到怎样的状
态,是数据库失败的时刻,还是最近一次备份的时刻。备份类型的选
择和还原模式的确定,都应该以尽最大可能以最快速度减少或消灭数
据丢失为目标。
第十三章 备份还原
? 数据的导入导出
用户也许希望能将自己存储在别的数据库中的数据转储到 SQL
server 数据库中;同样,也许因为某些特殊的需要,用户希望将自己
存储在 SQL server数据库系统中的数据转储到别的数据库系统中如
Sybase,ACCESS等。
为了满足用户的要求,SQL系统提供了数据传输服务 ( Data
transformation Server,DTS) 。利用 SQL server提供的 DTS服务,用
户可以将数据在不同的数据源之间导入导出。也可以将存储在旧版本
SQL server中的数据导入到升级后的新版本中。
第十三章 备份还原
? DTS的概念和意义
DTS是 SQL server 提供的数据传输服务。利用 DTS用户可以完成
以下工作:
1、数据的导入和导出
导入和导出数据是在不同应用之间按普通格式读写数据从而实现
数据交换的过程。
2、转换数据格式
SQL server允许用户将数据在实现数据传输之前进行数据格式的
转换。通过转换数据格式,用户可以方便的实施复杂的书检验,进行
数据的重新组织。
3、传输数据库对象
在不同的数据源之间,DTS 提供的功能只能移动表和表中的数据。
但如果是在 SQL server2000数据库之间进行传输,则用户可以方便的
实现索引、视图、存储过程、触发器、规则、约束等数据库对象的传
递。