第11章 备份和恢复.ppt





《第11章 备份和恢复.ppt》由会员分享,可在线阅读,更多相关《第11章 备份和恢复.ppt(58页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第11 章 备份和恢复内容提要 SQLServer2005 数据库的备份和恢复功能强大,涉及数据库系统的可靠性、安全性和完整性,是有效地防止数据丢失重要工具。计算机用户能够对一些重要文件、资料定期进行备份是必要的。因为当出现比如系统崩溃、系统遭受病毒攻击等突发情况,原先的文件就会遭到破坏以至于全部丢失,而通过恢复启用原先的文件备份,就可以节省大量的资源。本章重点掌握数据库的备份和恢复的常用操作。第11 章 备份和恢复本章内容:11.1 备份和还原概述11.2 备份数据库11.3 还原数据库11.4 还原受损的系统数据库11.5 小结11.1 备份和还原概述 对于生产数据库来说,数据的安全性是至
2、关重要的。数据丢失可能由于以下多种原因造成:硬件故障、病毒、错误地使用UPDATE 和DELETE 语句、软件错误、自然灾害等。在备份数据库的时,SQLServer 会执行下列操作:将数据库所有的数据页写到备份介质上。记录最早的事物日志记录的序列号。把所有的错误日志记录写到备份介质上。执行备份后需要将备份的数据写到备份介质上,在SQLServer2005 系统中主要有磁盘、磁带、命名管道3 种介质,而目前的数据库备份多用磁盘介质。11.1 备份和还原概述11.1.1 备份和还原的目的 降低数据丢失的可能性,并能够及时恢复已经丢失的数据,可以在数据库系统中实施备份和恢复策略。备份和恢复就是将数据
3、库中的数据进行导出,生成副本,然后在系统发生故障后能够恢复全部或部分数据。数据还原就是在数据库的一定生命周期的某一时刻还原数据。作为数据库管理员,应该将数据还原的频率减到最低,预计潜在灾难所能影响到的范围,当灾难发生时,加快还原速度并快速地验证还原是否成功。11.1 备份和还原概述11.1.2 备份的时机 备份数据库的时机和频率取决于可接受的数据丢失量和数据库活动的频繁程度。如果系统处于联机事务处理(OLTP)环境,则需要频繁备份数据库。如果系统主要用于决策支持(OLAP),则不必频繁备份数据库。需要决定从每种灾难中进行数据还原的合理时间长度,根据灾难类型和数据库的大小不同,所需的最短数据还原
4、时间也会不同。11.1 备份和还原概述11.1.2 备份的时机当计划从各种潜在的灾难中恢复时,需要考虑相关的问题,并为各种可能性做准备。一个包含数据文件的磁盘出现故障,就应该考虑下列问题:关闭数据库会造成什么后果?替换损坏的数据磁盘并用数据库备份还原数据的时间可否接受?为了使数据库不会由于单个磁盘的故障而无法使用,是否需要实现RAID?用数据库备份还原数据的实际时间是多少?更频繁地备份数据库是否会显著地减少还原时间?11.1 备份和还原概述11.1.2 备份的时机1 备份系统数据库(1)修改master 数据库备份数据库。master 数据库包含了SQLServer 系统中有关数据库的全部信息
5、。当用户创建任何自定义的数据库时都要修改master 数据库,此时就应该备份master 数据库。在master 数据库遭到破坏时,就可以方便的恢复数据库。创建、删除和修改数据库,要备份master 数据库 利用sp_logdevice 系统存储过程,用来修改事务日志。用于添加或者删除服务器的系统存储过程。例如sp_addserver、sp_dropserver 系统存储过程。11.1 备份和还原概述11.1.2 备份的时机1 备份系统数据库(2)修改msdb 数据库备份数据库。msdb 数据库包含了SQLServer2005 代理所使用的作业、警报和操作员的信息。(3)修改model 数据库
6、备份数据库。修改model 数据库后也要对其进行备份,这样才能把更改后的所有用户数据库的默认配置保存下来。11.1 备份和还原概述11.1.2 备份的时机2 备份用户数据库用户应当定期的备份用户数据库。可以从下列几方面考虑备份的时机:(1)创建数据库后备份数据库。创建数据库或为数据库填充了数据以后,用户应该备份数据库。(2)创建索引后备份数据库。虽然这不是必须的,但是以后如果数据库遭到破坏,那么就可以在还原过程中节省时间。(3)清理事务日志后备份数据库。(4)执行了无日志操作后也应该备份数据库。11.1 备份和还原概述11.1.3 备份和恢复的类型在SQLServer2005 系统中,主要有4
7、 种常用备份类型:完整数据库备份、差异数据库备份、事务日志备份和数据库文件或文件组备份。1 完整数据库备份和恢复完整数据库备份是数据库恢复时的基线,执行完整数据库备份时,SQLServer 执行下列操作:备份在备份过程中发生的所有活动。备份事务日志中的所有未提交事务。完整数据库的恢复是从完整数据库备份中进行恢复。11.1 备份和还原概述11.1.3 备份和恢复的类型2 差异数据库备份和恢复 为了减少还原频繁修改的数据库的时间,可以执行差异备份。在执行差异备份之前必须已经执行了完整数据库备份。差异备份只备份自上一次完整数据库备份发生改变的内容和在差异备份过程中所发生的所有活动,及事务日志中所有为
8、提交的部分。差异数据库的恢复必须在完整数据库备份的基础上进行恢复。11.1 备份和还原概述11.1.3 备份和恢复的类型3 事务日志备份和恢复 备份事务日志可以记录数据库的更改,但前提是在执行了完整数据库备份之后。进行事务日志备份时,SQLServer 执行备份操作是从上一次成功执行BACKUPLOG 语句之后到当前事务日志结尾的这段事务日志,并从事务日志活动部分的起点处截断事务日志,丢弃不活动部分的信息。事务日志的恢复必须在完整数据库备份的基础上进行,且可以恢复到特定的即时点或故障点。11.1 备份和还原概述11.1.3 备份和恢复的类型4 数据库文件或文件组备份和恢复对超大型数据库执行完整
9、数据库备份是不可行的,可以执行数据库文件或文件组备份。在备份数据库文件或文件组时应考虑以下几点:必须指定逻辑文件或文件组,一般将表和索引一起备份。必须执行事务日志备份,使还原的文件与数据库的其他部分相一致,必须同时备份事务日志。最多可以指定16 个文件或文件组,且应制定轮流备份每个文件的计划。数据库文件或文件组的恢复通过完整数据库备份上进行恢复,也可以单独恢复。11.1 备份和还原概述11.1.4 备份策略的选择1 完整数据库备份策略 完整数据库备份的备份内容包括还原数据库时需要的所有数据和数据库的元数据信息,其中包括全文目录。在还原完整数据库备份时,数据库将恢复所有数据库文件,这些文件包含备
10、份结束时处于一致状态的所有数据。在执行数据库备份时,数据库即使处于联机状态,用户依然可以像平常一样发起事务,更改数据。“一致状态”是指在备份执行过程中,所有提交的事务将被接受,所有未完成的事务将被回滚。11.1 备份和还原概述11.1.4 备份策略的选择1 完整数据库备份策略 在SQLServer 执行备份时可能存在事务正在修改数据的情形,而这种情形很可能导致数据不一致。SQLServer2005 有一种特殊的处理过程以保证数据的一致性。这个过程包括向备份设备写数据页和事务日志记录。完整数据库备份策略适合如下情况:数据库中的数据量比较小,总的备份时间可以接受。数据库中的数据量变化少或者数据库是
11、只读的。11.1 备份和还原概述11.1.4 备份策略的选择2 数据库和事务日志备份策略 如果数据库要求有比较严格的可恢复性,而使用完整数据库备份的时间与效率不允许时,可以通过数据库和事务日志备份策略。当进行数据库和事务日志备份策略时,用户应该从最近的完整数据库备份开始,使用事务日志备份。这种策略一般用于经常修改操作的数据库上。11.1 备份和还原概述11.1.4 备份策略的选择3 差异备份策略差异备份策略一般是在完整数据库备份上、且数据变化比较频繁的数据库上,该类备份可以节省数据库备份的时间。4 文件或文件组备份策略文件或文件组备份策略主要包含单个文件或文件组的操作,适用于数据量庞大、完整备
12、份耗时长的数据库。11.1 备份和还原概述11.1.5 恢复模式的设置恢复模式是指数据库运行时,记录事务日志的模式。恢复模式控制事务记录在日志中的方式、事务日志是否需要备份以及还原的操作。1 恢复模式的分类恢复模式包含简单恢复模式、完整恢复模式和大容量日志恢复模式3 种类型,适合于数据库的恢复模式取决于数据库的可用性和恢复要求。简单恢复。完整恢复。大容量日志恢复。11.1 备份和还原概述11.1.5 恢复模式的设置2 选择数据库的恢复模式指定数据库的恢复模式,可以参考如下步骤。(1)启动SQLServerManagementStudio,在对象资源管理器中,右击“数据库”|teaching,在
13、弹出的快捷菜单中选择“属性”命令。(2)在弹出的“数据库属性”对话框中,选择“选项”选项卡,在“恢复模式”后的列表框中,可以选择恢复模式,如图11.1 所示。(3)也可以从列表中,更改的恢复模式。可以选择“简单”、“完整”或“大容量日志”恢复模式中的一种。然后单击“确定”按钮即可。11.1 备份和还原概述11.1.5 恢复模式的设置3 利用Transact-SQL 语句设置恢复模式(1)设置简单恢复模式。数据库所用的默认恢复模式取决于数据库创建时指定的数据库恢复模式。为了实现只包括完整数据库备份的备份策略,恢复模式应该被设置为“简单模式”。如果只使用完整数据库备份和差异备份,数据库必须置于简单
14、恢复模式。在简单恢复模式中,事务日志会在每一个检查点后被删除。在简单恢复模式中不能创建事务日志备份。设置恢复模式为简单模式可以用ALTERDATABASE 语句来设置恢复模式。例11.1为数据库test01 设置简单恢复模式。程序代码如下:USEmaster;GOALTERDATABASEtest01SETRECOVERYSIMPLE;GO-查看恢复模式语句SELECTDATABASEPROPERTYEX(test01,Recovery)11.1 备份和还原概述11.1.5 恢复模式的设置3 利用Transact-SQL 语句设置恢复模式(2)完整恢复模式。如果也想使用事务日志备份,恢复模式必
15、须置于完整恢复模式(FULL)或者大容量日志恢复模式(BULK_LOGGED)。完整恢复模式会使得SQLServer 将所有事务保存在一个事务日志文件中直到一次事务日志备份发生。当事务日志备份发生时,SQLServer 将在事务日志备份写入备份设备后删除事务日志。在数据库置于完整恢复模式的时候,执行事务日志备份是非常重要的。如果没有进行事务日志备份,事务日志文件将不断增加直至其最大大小限制。事务日志已满且不能再增加的时候,就不能再执行事务了。使用ALTERDATABASE 将数据库的恢复模式设置为FULL。以下代码将test01 数据库的恢复模式设为FULL:USEmaster;GOALTER
16、DATABASEtest01SETRECOVERYFULL;GO11.1 备份和还原概述11.1.5 恢复模式的设置3 利用Transact-SQL 语句设置恢复模式(3)大容量日志恢复模式。大容量日志恢复模式可以允许事务日志既捕获日志又捕获大容量操作的结果。在大容量日志恢复模式下,将数据库还原到特定的时间点是不可能的。而且,在数据文件损坏且在最后一次事务日志备份之后发生了大容量操作的情况下,不可能再执行事务日志备份,这恰好是事务日志备份的重要优点之一。大容量日志恢复模式必须在执行大容量操作的时候打开,并且要让使用这种模式的时间尽量短。数据库使用完整备份模式。如果只需要使用完整日志操作,就不要
17、使用大容量日志恢复模式。11.1 备份和还原概述11.1.6 在几种不同灾难情况下的恢复制定各种故障和灾难的恢复计划,应该预计到各种形式的潜在灾难,并针对具体情况制定恢复计划。在数据库系统生命周期中可能发生的灾难主要分为3 类。1 系统故障系统故障一般是指由于硬件故障或软件错误,如掉电、操作系统运行错误等原因,使得内存中的数据或日志突然遭到破坏,事务处理终止,但物理介质上的信息没有被破坏。SQLServer2005 本身就可以自己修复这类故障。11.1 备份和还原概述11.1.6 在几种不同灾难情况下的恢复2 事务故障 在SQLServer2005 系统中,一个事务可能包含一组SQL语句的操作
18、。事务故障是指事务运行过程中,没有正常提交就产生的故障,事务中的语句组具有原子性,要么都完成,要么会滚到执行该事务前的状态。SQLServer2005 本身就能够处理事务故障。特殊情况下,还可以通过重启服务来处理该故障。3 介质故障 由于物理介质发生读写错误,或者管理员在操作过程中不慎删除一些重要数据或日志文件,机会产生介质故障。介质故障需要数据库管理员手工进行恢复,恢复时需要在发生故障前的数据库备份和日志备份。11.2 备份数据库 备份和恢复数据库过程中常用的术语。(1)备份(backup)。数据库、文件组、文件或事务日志的副本,可用于恢复数据。(2)备份集(backupset)。从备份所属
19、的媒体集方面进行说明的单个备份。每个备份集都分布在所属媒体集的所有媒体簇中。(3)备份设备(backupdevice)。备份的存储位置称为备份设备,包含备份媒体的磁带机或磁盘驱动器两种形式。(4)备份文件(backupfile)。存储完整或部分数据库、事务日志、文件和/或文件组备份的文件。11.2 备份数据库11.2.1 创建备份设备利用SQLServerManagementStudio 创建磁盘备份设备的步骤如下:(1)在对象资源管理器中,展开“服务器对象”选项,然后右击“备份设备”。(2)在弹出的菜单中选择“新建备份设备”命令,打开“备份设备”对话框,如图.(3)若要确定目标位置,请单击“
20、文件”并指定该文件的完整路径。然后输入设备名称device1。(4)单击“确定”按钮,备份设备device1.bak 创建成功。11.2 备份数据库11.2.1 创建备份设备 备份设备由设备名标识。设备名可以是一个逻辑设备名或者一个物理设备名。一个磁盘设备的物理设备名是备份文件的路径,如“F:sqlprogramBackupdevice1.bak”。逻辑设备名是存储在备份SQLServer 中指向备份设备物理名的名称。当一个连接设备名在备份语句中使用的时候,SQLServer 将在系统目录中搜寻相应的物理位置并在搜到的位置执行备份。11.2 备份数据库11.2.1 创建备份设备也可以使用系统存
21、储过程sp_addumpdevice 创建备份设备。单击图11.2 中的“脚本”按钮,即可得到如下创建备份设备的代码:USEmasterGOEXECmaster.dbo.sp_addumpdevicedevtype=Ndisk,logicalname=Ndevice1,physicalname=NF:sqlprogramBackupdevice1.bak”GO11.2 备份数据库11.2.2 执行完整数据库备份1 使用SQLServerManagementStudio 备份数据库步骤如下:(1)在“对象资源管理器”窗口中选择|“数据库”|teaching。(2)右击teaching,在弹出的快
22、捷菜单里选择“任务”|“备份”命令,弹出如图11.3 所示的“备份数据库”对话框。(3)在如图11.3 所示对话框里可以完成以下操作:选择要备份的数据库 选择要备份类型。设置备份集的信息。将数据库备份到哪里:11.2 备份数据库11.2.2 执行完整数据库备份1 使用SQLServerManagementStudio 备份数据库步骤如下:(4)单击“脚本”按钮,即可获得如下创建临时设备文件的代码:(5)单击“确定”按钮,开始数据库备份数据库teaching。(6)也可以单击图11.3 界面“添加”按钮添加备份路径。在弹出的“选择备份目标”对话框中选择“备份设备”下的device1。(7)若要查
23、看或选择高级选项,请在选择“选项”选项卡进行设计。然后单击“确定”按钮即可完成完整数据库备份。11.2 备份数据库11.2.2 执行完整数据库备份1 使用SQLServerManagementStudio 备份数据库步骤如下:(8)查 看 备 份 文 件。展 开“对 象 资 源 管 理 器”窗口,右 击“服 务 器 对 象”|“备 份 设 备”|device1,在 弹 出 的 菜 单 中 选 择“属 性”命 令。在 弹 出 的“备 份 设 备-device1”对 话 框 中 选 择“媒 体 内 容”选 项 卡,如 图11.5 所 示,即 可 观 察 到teaching 数 据 库 的 完 整
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第11章 备份和恢复 11 备份 恢复

限制150内