第10章备份和恢复.ppt
《第10章备份和恢复.ppt》由会员分享,可在线阅读,更多相关《第10章备份和恢复.ppt(64页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第10 章 备份和恢复 本章导读:在数据库的使用过程中,难免会由于软/硬件故障、病毒入侵、操作不当等各种因素造成数据的丢失或损坏。备份和恢复是保证数据库有效性、正确性和可靠性的重要措施。运用适当的备份策略,可以保证及时有效地恢复数据库中的重要数据,将数据损失量降低到最小点。知识要点:故障 备份 恢复10.1 故障概述 在数据库系统中大致存在4 种故障:事物内部故障、介质故障、系统故障和计算机病毒故障。不同故障需要不同的处理方法。10.1.1 事务内部故障事务故障,是指对数据库进行的操作违反了事务本身的特性或人为设置的规则,如输入数据错误、运算溢出、并发死锁等情况,使事务未能正常完成就终止的一类
2、故障。事物内部故障分为预期的和非预期的,其中大部分是非预期的。(1)预期的事务内部故障:是指可以通过事务程序本身发现的事物内部故障。如网上购物时,客户账户余额减少,但是商家账户余额没有相应增加。其方法可以通过事务回滚,撤销其对数据库的修改,从而使数据库恢复到一致性的状态。(2)非预期的事物内部故障:是指不能由事务程序发现的,如溢出错误、并发死锁,违反了某些完整性限制而导致的故障。其方法是强行回滚事物,在保证该事物对其他事物没有影响的条件下,利用日志文件撤销其对数据库的修改,使数据库恢复到事物运行之前的状态。10.1.2 系统故障 又称为软故障,是指数据库在运行过程中,由于硬件故障、数据库软件及
3、操作系统的漏洞、突然停电等情况,使得活动事物非正常中断的一类故障,这类故障影响正在运行的事物(内存缓冲区中的数据丢失),但不破坏数据库(硬盘等外设上的数据未受损失)。其方法是在重新启动后,对于未完成的事物可能已经写入数据库的内容,需要回滚其所有未完成的事物写的结果,以保证数据库中的数据的一致性;对于已完成的事物可能部分或全部留在缓冲区的结果,需要重做其所有已提交的事物,以保证数据库数据恢复到一致状态。也就是说,当数据库发生系统故障时,容错对策是在重新启动系统后,撤销(undo)所有未提交的事物,重做(redo)所有已提交的事物,已达到容错目的。10.1.3 介质故障又称为硬故障,是指数据库在运
4、行过程中,由于磁头碰撞、磁盘损坏、强磁干扰、天灾人祸等情况,使得存储介质上的数据部分或全部丢失的一类故障,这类故障可能因为物理存储设备损坏,导致数据文件及数据全部丢失,破坏性较大。其方法是有两种:一是软件容错。二是硬件容错。软件容错是使用数据库备份及事务日志文件,通过恢复技术,恢复数据库到备份结束时的状态。软件容错有局限性,不能完全恢复数据库,只能恢复到备份数据库的备份结束点。硬件容错是采用双物理存储设备,如双硬盘镜像,使两个硬盘容错存储内容相同,当一个硬盘出现介质故障时,另一个硬盘的数据没有破坏从而达到数据库完全恢复的效果。10.1 备份备 份 是 指 对SQL Server 数 据 库 部
5、 分 或 全 部 内 容进 行 处 理,生 成 一 个 副 本 的 过 程。数 据 库 备 份记 录 了 在 进 行 数 据 库 备 份 操 作 时 的 所 有 数 据 状态。10.1.1 备份概述 10.1.2 备份类型 10.1.3 备份设备 10.1.4 备份数据库10.1.1 备份概述 备份是系统维护和管理的一项重要内容,执行备份必须拥有对数据库进行备份的权限,在SQL Server 2000 中,只有固定服务器角色sysadmin(系统管理员)和固定数据库角色db_owner(数据库所有者)、db_backupoperator(数据库备份执行者)可以做备份操作,但sysadmin(系
6、统管理员)可以授权其它角色执行数据库备份操作。10.1.4 计算机病毒故障计算机病毒故障,是指计算机病毒对计算机系统破坏的同时也可能破坏数据库系统(主要是数据文件)。其方法是采用杀毒软件杀毒,如果查杀失败,则需用数据库备份文件,以软件容错的方式恢复数据文件,达到数据正常工作状态。10.1.1 备份概述一般情况下,数据库需备份的内容包括系统数据库、用户数据库和事务日志3 部分。(1)系统数据库主要包括master、msdb 和model 数据库,记录了重要的系统信息。一旦损坏,SQL Server 2000 系统无法正常运行,因此必须完全备份,以便在系统发生故障时能够利用备份还原整个系统。但不必
7、备份tempdb 数据库,因为其内容总是在启动后自动建立。(2)用户数据库包含了用户加载的信息资源,根据其重要性可分为关键数据和非关键数据。关键数据一旦损坏,不易甚至不能重新建立,因此必须进行完全备份。(3)事务日志记录了用户对数据库的各种事务操作,平时系统会自动管理和维护所有的数据库事务日志文件。相对于数据库备份,事务日志备份所需要的时间较少,但还原所需要的时间却比较长。10.2 备份 备份是指对数据库全部或部分(文件和文件组)内容进行处理,生成一个副本的过程。数据库备份记录了在进行数据库备份操作时的所有数据状态。通过适当备份,可以将数据库从多种故障中恢复过来。10.2.1 备份概述10.2
8、.1 备份类型备份是系统维护和管理的一项重要内容,执行备份必须拥有对数据库进行备份的权限,在SQL Server 2005 中,只有固定服务器角色sysadmin(系统管理员)和固定数据库角色db_owner(数据库所有者)、db_backupoperator(数据库备份执行者)可以做备份操作,但sysadmin(系统管理员)可以授权其它角色执行数据库备份操作。一般情况下,数据库需备份的内容包括系统数据库、用户数据和事务日志3个部分。(1)系统数据库主要包括master、msdb 和model 数据库,记录了重要的系统信息。一旦损坏,SQL Server 2005 系统无法正常运行,因此必须完
9、全备份,以便在系统发生故障时能够利用备份还原整个系统。但不必备份tempdb 数据库,因为其内容总是在启动后自动建立。(2)用户数据包含了用户加载的信息资源,根据其重要性可分为关键数据和非关键数据。关键数据一旦损坏,不易甚至不能重新建立,因此必须进行完全备份。(3)事务日志记录了用户对数据库的各种事务操作,平时系统会自动管理和维护所有的数据库事务日志文件。相对于数据库备份,事务日志备份所需要的时间较少,但还原所需要的时间却比较长。10.2.2 备份类型SQL Server 2005 提供了3 种备份类型:完整备份、差异备份、事务日志备份。1 完整备份完整备份是指备份数据库的全部或特定文件(组)
10、的内容。完整备份的时间和存储空间由数据库中的数据容量决定的。恢复时不需要其它支持文件,操作相对简单。完整备份是恢复数据库的基础文件,事物日志备份和差异备份都要依赖完整备份。适用于数据更新缓慢或只读的小型的数据库。完整备份由于其备份速度较慢,而且占用大量磁盘空间,所以通常安排在数据库系统的事务运行数目相对较少时(如晚间)进行,以避免对用户的影响和提高数据库备份的速度。10.2.2 备份类型 2 差异备份 差异备份是指只备份自上次完整备份之后更改的数据。差异备份一般会比完整备份占用更少的空间。差异备份的时间和存储空间由上次完整备份后变化的数据容量决定的。差异备份之前,必须至少有一次完整备份,而还原
11、时,也必须先还原完整备份,才能还原差异备份。在进行多次差异备份后,只能恢复到最后一次差异备份时的时刻。差异备份及其还原的所用时间较短,因而通过增加差异备份的备份次数,可以降低丢失数据的风险,但是它无法象事务日志备份那样将数据库恢复到故障点或特定的即时点。10.2.2 备份类型3 事务日志备份事务日志备份是指对数据库发生的所有事务进行备份,包括从上次进行完整备份、差异备份和事务日志备份之后,所有已经完成的事务。事务日志备份所需时间和存储空间最小,适用于数据库变化较为频繁或不允许在最近一次数据库备份之后发生数据丢失或损坏的情况。事务日志备份之前,必须至少有一次完整备份,而还原时,也必须先还原完整备
12、份,然后还原差异备份,最后按照事务日志备份的先后顺序,依次还原各次事务日志备份的内容。10.2.3 备份设备备份设备是指用来存储数据库或事物日志备份的存储介质。备份设备以文件的形式存储在物理介质上,并和数据库一样具有物理设备名和逻辑设备名两种命名方式。备份和恢复数据库时可以交替使用物理和逻辑名称。物理设备名是操作系统用来标识备份设备的名称,它标识了备份设备的物理存储路径和文件名。使用物理设备名标识的备份设备称为临时备份设备,其名称没有记录在系统设备表中,只能使用一次。10.2.3 备份设备 逻辑设备名是用来标识物理备份设备的别名或公用名称。使用逻辑设备名标识的备份设备称为永久备份设备,其名称永
13、久地存储在SQL Server 的系统表中,可以多次使用。使用逻辑设备名称的优点是引用时相对称简单,而引用物理设备名需要路径及文件名。备份设备可以是磁盘、磁带或命名管道。当使用磁带时,SQL Server 2005 只支持本地磁带机作为备份设备;当使用磁盘时,SQL Server 2005 支持本地主机磁盘和远程主机磁盘作为备份设备;当使用命名管道时,SQL Server 2005 支持第三方软件供应商提供命名管道来备份和恢复数据库。备份之前,必须首先建立存储备份数据的备份设备,创建和删除备份设备方法有两种:使用SSMS 管理工具和使用系统存储过程。一般不要将备份设备建立在数据库所在的磁盘上。
14、10.2.3 备份设备1 使用SSMS 创建和删除备份设备使用SSMS 创建和删除备份设备步骤如下:(1)启动SSMS,在“对象资源管理器”中,展开SQL Server 9.0“服务器对象”,右击“备份设备”,弹出快捷菜单,选择“新建备份设备”命令,打开“备份设备”属性对话框,在“名称”框中输入备份设备的逻辑名,如“my_bak”,在“文件”框中设置备份设备的物理路径及名称,如“d:backupmy_bak.bak”,如图10-1 所示。10.2.3 备份设备10.2.3 备份设备图10-2 SSMS 对话框1 图10-3 SSMS 对话框2(2)单击“确定”按钮,返回SSMS,可以看到已建好
15、的备份设备,如图10-2 所示。(3)当备份设备不需要时,可以将其删除,在“对象资源管理器窗口”中右击要删除的备份设备,在弹出的快捷菜单中选择“删除”命令,则可删除该备份设备,如图10-3 所示。10.2.3 备份设备2 使用系统存储过程创建备份设备 使用系统存储过程创建备份设备的命令是sp_addumpdevice,其语法格式如下:sp_addumpdevice devtype=类型,logicalname=逻辑名,physicalname=物理名说明:(1)devtype=类型:指定备份设备的类型,取值可以是:disk、tape、pipe,分别代表磁盘、磁带、命名管道。(2)logical
16、name=逻辑名:指定备份设备的逻辑名称。(3)physicalname=物理名:指定备份设备的物理名称。物理名称必须遵照操作系统文件名称的规则或者网络设备的通用命名规则,并且必须包括完整的路径。对于远程硬盘文件,可以使用格式“主机名 共享路径名 路径名 文件名”表示;对于磁带设备,用“.tape n”表示,其中n 为磁带驱动器序列号。10.1.3 备份设备【例10-1】创建一个备份设备,逻辑名为“mydisk”,物理名为“d:backupmy_disk.bak”。sp_addumpdevice devtype=disk,logicalname=mydisk,physicalname=d:ba
17、ckupmy_disk.bak或:sp_addumpdevice disk,mydisk,d:backupmy_disk.bak3 使用系统存储过程删除备份设备使用系统存储过程删除备份设备的命令是sp_dropdevice,其语法格式如下:sp_dropdevice logicalname=逻辑名,delfile=delfile说明:(1)logicalname=逻辑名:指定备份设备逻辑名称;(2)delfile=delfile:指定参数时,将同时删除相应的物理文件。10.2.4 备份操作在完整备份和差异备份类型下,SQL Server 2005 提供了两种备份组件(备份内容选择方案):数据库
18、,文件和文件组。数据库组件备份是指备份整个数据库,而文件和文件组组件备份是指备份特定的、相关的数据库文件或文件组。无论执行哪种备份类型和哪种备份组件,都可以使用SSMS 执行备份操作,或者使用T-SQL 语句执行备份操作。1 使用SSMS 执行备份操作不同类型的备份操作略有区别,这里介绍完整恢复模式下对数据库执行的完整备份操作:(1)启动SSMS,在“对象资源管理器”窗格中依次展开SQL Server 9.0“数据库”。选择需要备份的数据库(jxgl),右击弹出快捷菜单,选择“任务”“备份”命令,单击释放后弹出“备份数据库”对话框的“常规”界面,如图10-4 所示。说明:10.2.3 备份设备
19、1)源:在“数据库”列表话框内选择要备份的数据库;在“备份类型”列表话框内选择备份类型(完整、差异、事务日志),默认选择完整备份;完整备份和差异备份状态下,“备份组件”选项可用,并提供两种备份组件:数据库、文件和文件组。备份组件默认选择数据库,如果选择“文件和文件组”,会打开“选择文件和文件组”对话框,如图10-5 所示;2)备份集:在“名称”框中输入备份集名称;在“说明”框中可以输入备份集描述(可选);在“备份集过期时间”选项中选择过期方式,并设置过期时间,其中0 表示永不过期。10.2.3 备份设备图10-4 完整“备份数据库”对话框的“常规”界面注意:“删除”用来逻辑删除备份设备,“内容
20、”用来查看备份设备的现有内容。图10-5“选择文件和文件组”对话框10.2.3 备份设备3)目标:在“备份到”选项选择备份设备的类型,然后单击“添加”按钮,弹出如图10-6 所示的“选择备份目标”对话框,从中可以选择备份设备,也可以指定备份文件名。图10-6“创建备份向导”对话框(2)在“备份数据库”对话框中单击“选项”,弹出“选项”界面,如图10-7 所示。10.2.3 备份设备2 使用T-SQL 语句执行备份操作说明:1)覆盖媒体:在“备份到现有备份集”选项中选择“追加到现有设备集”或“覆盖所有备份集”,并设置是否“检查备份集名称和备份过期时间”;在“备份到新媒体并清除现有备份集”选项中可
21、以设置“新建媒体集名称”和“新建媒体集说明”。2)可靠性:设置“完成后验证备份”或“写入媒体前检查校验和”。3)事务日志:在完整备份和差异备份状态下不可用,在事务日志备份状态下可用,其中“截断事务日志”表示截断(就是将日志中不需要的部分清除掉)已经备份的事务日志,以节约日志文件空间;“备份日志尾部,并使数据库处于还原状态”表示备份当前活动事物日志。(3)单击“确定”按钮,运行备份操作,完成后弹出完成提示对话框,如图10-8 所示。10.2.3 备份设备图10-8 备份成功对话框10.2.3 备份设备2 使用T-SQL 语句执行备份操作(1)完整备份完整备份是制作数据库中全部和部分内容(包含事务
22、日志)的一个副本,备份过程花费时间相对较长,备份占用的空间较大,因此不宜频繁进行。其典型语法格式如下:backup database,.nto,.n withname=备份集名称,description=备份集描述文本,init|noinit其中,:=file=逻辑文件名|filegroup=逻辑文件组名说明:1):表示备份组件是文件和文件组,省略时表示备份组件是数据库;2):指定备份要使用的逻辑或物理备份设备,可取值 逻辑备份设备名|disk|tape=物理备份设备名;3)init:表示重写备份集上所有数据,即抹去原有备份,写入现有数据库备份文件;4)noinit:表示追加备份到备份集上,即
23、保留原有备份,追加现有数据库备份文件;5)description:备份集描述文本。10.2.3 备份设备【例10-2】将“jxgl”数据库备份到d 盘的backup 文件夹下的myback.bak 文件中。-首先先创建一个备份设备 sp_addumpdevice disk,mydata,d:backupmyback.bak-用backup database 备份数据库jxgl backup database jxgl to mydata with name=jxgl 完整备份,description=备份【例10-3】将“jxgl”数据库备份到d 盘下dbk 文件中的多个备份设备上。-创建第一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第10章 备份和恢复 10 备份 恢复
限制150内