《数据库技术与应用第14章备份与恢复.ppt》由会员分享,可在线阅读,更多相关《数据库技术与应用第14章备份与恢复.ppt(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第14章 备份与恢复14.1 备份与恢复的基本概念备份与恢复的基本概念14.2 备份与恢复的类型和策略备份与恢复的类型和策略14.3 备份数据库备份数据库14.4 恢复数据库恢复数据库 虽然虽然SQL Server 2000提供了内置的安提供了内置的安全性和数据保护,这种安全管理主要是为全性和数据保护,这种安全管理主要是为防止非法登录者或非授权用户对防止非法登录者或非授权用户对SQL Server 2000 数据库或数据造成破坏,但在数据库或数据造成破坏,但在有些情况下这种安全管理机制显得力不从有些情况下这种安全管理机制显得力不从心。例如合法用户不小心对数据库数据做心。例如合法用户不小心对数据
2、库数据做了不正确的操作,或者保存数据库文件的了不正确的操作,或者保存数据库文件的磁盘遭到损坏,或者运行磁盘遭到损坏,或者运行SQL Server 2000 的服务器因某种不可预见的事情而导致崩的服务器因某种不可预见的事情而导致崩溃,所以我们需要提出另外的方案,即数溃,所以我们需要提出另外的方案,即数据库的备份和恢复来解决这种问题。据库的备份和恢复来解决这种问题。14.1 备份与恢复的基本概念备份与恢复的基本概念备份和恢复组件是备份和恢复组件是 SQL Server 2000 的重要组成部分。备份就是指对的重要组成部分。备份就是指对SQL Server 数据库或事务日志进行拷贝,数据数据库或事务
3、日志进行拷贝,数据库备份记录了在进行备份这一操作时数据库备份记录了在进行备份这一操作时数据库中所有数据的状态,如果数据库因意外库中所有数据的状态,如果数据库因意外而损坏这些备份文件将在数据库恢复时被而损坏这些备份文件将在数据库恢复时被用来恢复数据库。用来恢复数据库。由由于于SQL Server 2000 支支持持在在线线备备份份,所所以以通通常常情情况况下下,可可一一边边进进行行备备份份,一一边边进进行行其其他他操操作作,但但是是在在备备份份过过程程中中,不不允允许许执行以下操作:执行以下操作:(1)创建或删除数据库文件。)创建或删除数据库文件。(2)创建索引。)创建索引。(3)执行非日志操作
4、。)执行非日志操作。(4)自动或手工缩小数据库或数据)自动或手工缩小数据库或数据库文件大小。库文件大小。恢恢复复就就是是把把遭遭受受破破坏坏或或丢丢失失数数据据或或出出现现错错误误的的数数据据库库恢恢复复到到原原来来的的正正常常状状态态,这这一一状状态态是是由由备备份份决决定定的的,但但是是为为了了维维护护数数据据库库的的一一致致性性在在备备份份中中,未未完完成成的的事事务务并并不不进行恢复。进行恢复。进行备份和恢复的工作主要是由数据进行备份和恢复的工作主要是由数据库管理员来完成的,实际上数据库管理员库管理员来完成的,实际上数据库管理员日常比较重要、比较频繁的工作就是对数日常比较重要、比较频繁
5、的工作就是对数据库进行备份和恢复。据库进行备份和恢复。14.2 备份与恢复的类型和策略备份与恢复的类型和策略14.2.1 数据库备份的类型数据库备份的类型 在在SQL Server 2000中中有有4种种备备份份类类型型,分分别为:别为:数据库备份(数据库备份(Database Backups)事事 务务 日日 志志 备备 份份(Transaction Log Backup)差差 异异 备备 份份(Differential Database Backups)文件和文件组备份(文件和文件组备份(File and File Group Backup)1数据库备份数据库备份(Database Bac
6、kups)数据库备份是指对数据库的完整备份,数据库备份是指对数据库的完整备份,包括所有的数据以及数据库对象。包括所有的数据以及数据库对象。2事务日志备份(事务日志备份(Transaction Log Backup)事务日志备份是指对数据库发生的事事务日志备份是指对数据库发生的事务进行备份,包括从上次进行事务日志备务进行备份,包括从上次进行事务日志备份、差异备份和数据库完全备份之后,所份、差异备份和数据库完全备份之后,所有已经完成的事务。有已经完成的事务。3差异备份差异备份(Differential Database Backups)差异备份是指将最近一次数据库备份差异备份是指将最近一次数据库备
7、份以来发生的数据变化备份起来,因此差异以来发生的数据变化备份起来,因此差异备份实际上是一种增量数据库备份。备份实际上是一种增量数据库备份。4文件和文件组备份文件和文件组备份(File and File Group Backup)文件或文件组备份是指对数据库文文件或文件组备份是指对数据库文件或文件夹进行备份,但其不像完整的数件或文件夹进行备份,但其不像完整的数据库备份那样,同时也进行事务日志备份。据库备份那样,同时也进行事务日志备份。使用该备份方法可提高数据库恢复的速度,使用该备份方法可提高数据库恢复的速度,因为其仅对遭到破坏的文件或文件组进行因为其仅对遭到破坏的文件或文件组进行恢复。恢复。14
8、.2.2 数据库备份的策略数据库备份的策略选选用用怎怎样样的的备备份份方方案案将将对对备备份份和和恢恢复复产产生生直直接接影影响响,而而且且也也决决定定了了数数据据库库在在遭遭到到破破坏坏前前后后的的一一致致性性水水平平,所所以以在在做做出出该该决决策策时必须认识到以下问题:时必须认识到以下问题:(1)如如果果只只进进行行数数据据库库备备份份,那那么么将将无无法法恢恢复复自自最最近近一一次次数数据据库库备备份份以以来来,数数据据库库中中所所发发生生的的所所有有事事务务。这这种种方方案案的的优优点点是是简简单单,而而且且在在进进行行数数据据库库恢恢复复时时操操作作也也很方便。很方便。(2)如果在
9、进行数据库备份时也进)如果在进行数据库备份时也进行事务日志备份,那么可以将数据库恢复行事务日志备份,那么可以将数据库恢复到失败点,那些在失败前未提交的事务将到失败点,那些在失败前未提交的事务将无法恢复,但如果在数据库失败后立即对无法恢复,但如果在数据库失败后立即对当前处于活动状态的事务进行备份,则未当前处于活动状态的事务进行备份,则未提交的事务也可以恢复。提交的事务也可以恢复。SQL Server 2000 提提供供了了以以下下方方法法来来减减少少备份或恢复操作的执行时间:备份或恢复操作的执行时间:(1)使使用用多多个个备备份份设设备备来来同同时时进进行行备备份份处处理理,同同理理可可以以从从
10、多多个个备备份份设设备备上上同同时时进进行数据库恢复操作处理。行数据库恢复操作处理。(2)综综合合使使用用完完整整数数据据库库备备份份、差差异异备备份份或或事事务务日日志志备备份份来来减减少少每每次次的的需需要要备备份份的数据数量。的数据数量。(3)使用文件或文件组备份以及事)使用文件或文件组备份以及事务日志备份,这样可以只备份或恢复那些务日志备份,这样可以只备份或恢复那些包含相关数据的文件,而不是整个数据库。包含相关数据的文件,而不是整个数据库。14.2.3 数据库恢复的策略数据库恢复的策略在在SQL Server 2000 中中有有3种种数数据据库库恢恢复复模模式式,分分别别是是简简单单恢
11、恢复复(Simple Recovery),完完全全恢恢复复(Full Recovery)和和批批日日志志恢恢复复(Bulk-logged Recovery)。)。1简单恢复简单恢复所谓简单恢复就是指在进行数据库恢所谓简单恢复就是指在进行数据库恢复时,仅使用了数据库备份或差异备份,复时,仅使用了数据库备份或差异备份,而不涉及事务日志备份。而不涉及事务日志备份。2完全恢复完全恢复完全数据库恢复模式是指通过使用数完全数据库恢复模式是指通过使用数据库备份和事务日志备份,将数据库恢复据库备份和事务日志备份,将数据库恢复到发生失败的时刻,因此几乎不造成任何到发生失败的时刻,因此几乎不造成任何数据丢失,这成
12、为对付因存储介质损坏而数据丢失,这成为对付因存储介质损坏而数据丢失的最佳方法。数据丢失的最佳方法。3批日志恢复批日志恢复批日志恢复在性能上要优于简单恢复批日志恢复在性能上要优于简单恢复和完全恢复模式,它能尽最大努力减少批和完全恢复模式,它能尽最大努力减少批操作所需要的存储空间,这些批操作主要操作所需要的存储空间,这些批操作主要是是SELECT INTO、批装载操作(如、批装载操作(如bcp 操作或批插入操作)和创建索引针对大文操作或批插入操作)和创建索引针对大文本或图像的操作(如本或图像的操作(如WRITETEXT,UPDATETEXT)。)。14.3 备份数据库备份数据库在进行备份以前,首先
13、必须创建备份设备,在进行备份以前,首先必须创建备份设备,备份设备是用来存储数据库事务日志或文件和文备份设备是用来存储数据库事务日志或文件和文件组备份的存储介质,备份设备可以是硬盘、磁件组备份的存储介质,备份设备可以是硬盘、磁带或管道。带或管道。SQL Server 2000 只支持将数据库备只支持将数据库备份到本地磁带机而不是网络上的远程磁带机。当份到本地磁带机而不是网络上的远程磁带机。当使用磁盘时使用磁盘时SQL Server 2000 允许将本地主机硬允许将本地主机硬盘和远程主机上的硬盘作为备份设备,备份设备盘和远程主机上的硬盘作为备份设备,备份设备在硬盘中是以文件的方式存储的。在硬盘中是
14、以文件的方式存储的。14.3.1 使使用用企企业业管管理理器器管管理理备备份份设设备备1使用企业管理器管理备份设备使用企业管理器管理备份设备 2使用企业管理器删除备份设备使用企业管理器删除备份设备 14.3.2 使用备份向导备份数据库设备使用备份向导备份数据库设备14.3.3 使用企业管理器进行备份使用企业管理器进行备份14.3.4 使用使用T-SQL 命令备份数据库命令备份数据库T-SQL 语句提供了语句提供了BACKUP 命令进行备份命令进行备份操作,其语法格式如下:操作,其语法格式如下:BACKUP DATABASE database_name|database_name_var TO
15、.n WITH BLOCKSIZE=blocksize|blocksize_variable ,DESCRIPTION=text|text_variable ,EXPIREDATE=date|date_var|RETAINDAYS=days|days_var ,PASSWORD=password|password_variable ,FORMAT|NOFORMAT ,INIT|NOINIT ,MEDIADESCRIPTION=text|text_variable ,MEDIANAME=media_name|media_name_variable ,MEDIAPASSWORD=mediapass
16、word|mediapassword_variable ,NAME=backup_set_name|backup_set_name_var ,NOSKIP|SKIP ,NOREWIND|REWIND ,NOUNLOAD|UNLOAD ,RESTART ,STATS =percentage 主要参数选项的含义说明如下。主要参数选项的含义说明如下。DATABASE:表示进行数据库备份而不:表示进行数据库备份而不是事务日志备份。是事务日志备份。database_name|database_name_var:表示要进行备份的数据库名称或变量。表示要进行备份的数据库名称或变量。BLOCKSIZE:备份介
17、质内每一数据区:备份介质内每一数据区块以块以byte 为单位表示的大小,如果使用磁为单位表示的大小,如果使用磁盘介质备份将自动决定数据区的大小,如盘介质备份将自动决定数据区的大小,如果使用管道且不指明数据区的大小,则默果使用管道且不指明数据区的大小,则默认其为认其为4KB。如果使用磁带只有在使用。如果使用磁带只有在使用FORMAT 选项时选项时BLOCKSIZE 才有效。才有效。未指定其大小时系统会自动选择合适的数未指定其大小时系统会自动选择合适的数据区大小。据区大小。DESCRIPTION:描述备份设置的文本,:描述备份设置的文本,最多有最多有255 个字符。个字符。EXPIREDATE:表
18、示保留备份文件的有:表示保留备份文件的有效期限。若超过该保留期备份介质上的数效期限。若超过该保留期备份介质上的数据可被覆盖。据可被覆盖。RETAINDAYS:表示备份文件在备份介:表示备份文件在备份介质中可以保留的天数,如果超过该天数,质中可以保留的天数,如果超过该天数,则介质上的数据可被覆盖。只有在使用则介质上的数据可被覆盖。只有在使用INIT选项时,该选项才有效,如果使用选项时,该选项才有效,如果使用SKIP,则此选项无效。,则此选项无效。FORMAT|NOFORMAT:FORMAT表表示将原备份介质头复写,从而将原介质上示将原备份介质头复写,从而将原介质上的所有数据覆盖。的所有数据覆盖。
19、INIT|NOINIT:INIT表示备份介质上的表示备份介质上的所有数据都将被覆盖,介质头将被保留,所有数据都将被覆盖,介质头将被保留,但是如果在备份介质上的数据结果集仍没但是如果在备份介质上的数据结果集仍没有超过使用的有效期,或在有超过使用的有效期,或在BACKUP 命令命令中给出的备份结果集名称与备份介质上的中给出的备份结果集名称与备份介质上的不匹配,则备份介质不会被覆盖。不匹配,则备份介质不会被覆盖。NOINIT 表示将备份结果集添加到当前备表示将备份结果集添加到当前备份介质中去。份介质中去。NOUNLOAD|UNLOAD:表示在备份:表示在备份完成以后磁带机是否自动倒带,且退出磁完成以
20、后磁带机是否自动倒带,且退出磁带机。该选项仅用于磁带设备。带机。该选项仅用于磁带设备。RESTART:表示:表示SQL Server重新开始重新开始被中断的备份操作,使用该选项可以节省被中断的备份操作,使用该选项可以节省时间。因为备份将从中断点接着进行,而时间。因为备份将从中断点接着进行,而不是从头开始。该选项仅适用于磁带介质不是从头开始。该选项仅适用于磁带介质且需要多卷磁带。且需要多卷磁带。STATS:表示在备份完某一百分比:表示在备份完某一百分比数据之后所要显示的信息。数据之后所要显示的信息。14.4 恢复数据库恢复数据库恢复数据库有两种方法:恢复数据库有两种方法:(1)使用企业管理器恢复
21、数据库。)使用企业管理器恢复数据库。(2)使用)使用T-SQL命令进行数据库恢复。命令进行数据库恢复。14.4.1 使用企业管理器恢复数据库使用企业管理器恢复数据库14.4.2 使用T-SQL恢复数据库T-SQL 语语句句提提供供了了 RESTORE 命命令令进进行行恢恢复操作,其语法格式如下:复操作,其语法格式如下:RESTORE DATABASE database_name|database_name_varFROM ,.nWITHDBO_ONLY,FILE=file_number,MEDIANAME=media_name|media_name_variable,MOVE logical_
22、file_name TO operating_system_file_name.n,NORECOVERY|RECOVERY|STANDBY=undo_file_name,NOUNLOAD|UNLOAD,REPLACE,RESTART,STATS=percentage其其 主主 要要 参参 数数 意意 义义 如如 下下(部部 分分 可可 参参 考考 BACKUP 命令参数)。命令参数)。DBO_ONLY:表表示示将将新新恢恢复复的的数数据据库库的的访问权限只授予数据库所有者。访问权限只授予数据库所有者。FILE:表表示示恢恢复复具具有有多多个个备备份份子子集集的的备备份介质中的那个备份子集。份介
23、质中的那个备份子集。MEDIANAME:表表示示在在备备份份时时所所使使用用的的备备份份介介质质名名称称。如如果果给给出出该该选选项项则则在在恢恢复复时时首首先先检检查查其其是是否否与与备备份份时时输输入入的的名名字字相相匹配,若不相同恢复操作将结束。匹配,若不相同恢复操作将结束。MOVE:表表示示把把备备份份的的数数据据库库文文件件恢恢复复到到系系统统的的某某一一位位置置缺缺省省条条件件下下,恢恢复复到到备备份时的位置。份时的位置。NORECOVERY:表表示示恢恢复复操操作作不不回回滚滚任任何何未未提提交交的的事事务务,若若恢恢复复某某一一数数据据库库备备份份后后又又将将恢恢复复多多个个事
24、事务务日日志志或或在在恢恢复复过过程程中中执执行行多多个个RESTORE命命令令,则则要要求求除除最最后后一一条条RESTORE命命令令外外,其其他的必须使用该选项。他的必须使用该选项。RECOVERY:表表示示回回滚滚所所有有未未提提交交的的事事务务,在在恢恢复复结结束束后后数数据据库库就就可可以以使使用。用。STANDBY:表表示示数数据据库库恢恢复复操操作作的的 UNDO 文件。文件。REPLACE:表表示示如如果果恢恢复复的的数数据据库库名名称称与与已已存存在在的的某某一一数数据据库库重重名名,则则首首先先删删除原数据库然后重新创建。除原数据库然后重新创建。RESTART:表表示示从从恢恢复复中中断断处处继继续续进进行行恢恢复复处处理理,该该选选项项只只能能用用于于磁磁带带介介质质,并且跨多卷磁带。并且跨多卷磁带。14.4.3 备份和恢复系统数据库备份和恢复系统数据库