《第15章 数据库的备份和恢复优秀课件.ppt》由会员分享,可在线阅读,更多相关《第15章 数据库的备份和恢复优秀课件.ppt(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第15章 数据库的备份和恢复第1页,本讲稿共35页引入 为了防止数据库系统在运行过程中,由于一些不可预测的因素而导致数据丢失等问题,数据库的备份与恢复,在实际的数据库与维护中,就具有十分重要的意义。第2页,本讲稿共35页学习目标学习目标数据库备份和恢复的作用数据库备份的方法数据库恢复的方法学习完本课程,您应该能够:学习完本课程,您应该能够:第3页,本讲稿共35页知识重、难点分析 重点:重点:u数据库备份的方法u数据库恢复的方法难点:难点:u数据库备份的方法u数据库恢复的方法第4页,本讲稿共35页u备份和恢复:备份和恢复组件是SQL Server 2000 的重要组成部分。备份就是指SQL Se
2、rver 2000 数据库或事务日志进行拷贝,数据库备份记录了在进行备份这一操作时数据库中所有数据的状态,如果数据库因意外破坏而损坏,这些备份文件将在数据库恢复时用来恢复数据库。u备份权限许可:执行备份操作必须拥有对数据库备份的权限许可,SQL Server只允许系统管理员、数据库所有者和数据库备份执行者备份数据库。备份的概念备份的概念第5页,本讲稿共35页 由于SQL Server 2000支持在线备份,所以通常情况下可以一边进行备份,一边进行其他操作,但是在备份过程中不允许执行以下操作:(1)创建或删除数据库文件。(2)创建索引。(3)执行非日志操作。(4)自动或手工缩小数据库或数据库文件
3、大小。如果以上各种操作正在进行当中,且准备进行备份,则备份处理将被终止:如果在备份过程中,打算执行以上任何操作,则操作将失败而备份继续进行。备份的概念备份的概念第6页,本讲稿共35页数据备份:u 数据库备份u 事务日志备份 其中,数据库备份是创建数据库的数据副本。事务日志是数据库执行所有事务的一系列记录,它的起始点是自上次备份事务日志后对数据库执行的所有事务操作。通过使用事务备份可以将数据库恢复到特定的即时点,或恢复到故障点。SQL Server 支持的备份类型支持的备份类型:第7页,本讲稿共35页(1)完整数据库备份完整数据库备份:备份包括事务日志的整个数据库。(2)差异数据库备份差异数据库
4、备份:仅复制自上一次完整数据库备份之后修改过的数据库页。(3)事务日志备份事务日志备份:日志备份序列提供了连续的事务信息链,可支持从数据库、差异或文件备份中快速恢复。(4)文件和文件组备份文件和文件组备份:仅允许恢复数据库中位于故障磁盘上的那部分。若要备份一个文件而不是整个数据库时,请合理安排步骤以确保数据库中所有的文件按规则备份,同时必须进行单独的事务日志备份。在恢复一个文件备份后,使用事务日志将文件内容前滚,使其与数据库其余部分一致。SQL Server 支持的备份类型支持的备份类型:第8页,本讲稿共35页 在进行备份以前首先必须创建或指定备份设备。备份设备是用来存储数据库、事务日志或文件
5、和文件组备份的存储介质:l 磁盘设备l 命名管道设备 微软专门为第三方软件供应商提供的一个备份和恢复方式。l 磁带磁带设备 备份设备在硬盘中是以文件的方式存储的。备份设备备份设备第9页,本讲稿共35页物理备份设备物理备份设备:是操作系统用来标识备份设备的名称,如C:BackupsAccountingFull.bak。逻辑备份设备逻辑备份设备:是用来标识物理备份设备的别名或公用名称。逻辑设备名称永久地存储在 SQL Server 内的系统表中。优点是引用它比引用物理设备名称简单。例如,逻辑设备名称可以是Accounting_Backup,而物理设备名称则是C:BackupsAccoun-ting
6、Full.bak。备份或恢复数据库时,可以交替使用物理或逻辑备份设备名称。物理和逻辑设备物理和逻辑设备 第10页,本讲稿共35页使用企业管理器创建逻辑磁盘备份设备使用企业管理器创建逻辑磁盘备份设备(1)找到服务器上的“管理”文件夹。(2)右击“备份”,单击“新建备份设备”命令。(3)在“名称”框中输入该命名备份设备的名称。(4)单击“文件名”,单击“浏览”(.)按钮显示“备份设备位置”对话框,再选择磁盘备份设备所使用的本地计算机上的物理文件。(5)单击“确定”创建备份设备。第11页,本讲稿共35页使用sp_addumpdevice创建逻辑磁盘备份设备语法如下:sp_addumpdevice d
7、evtype=device_type,logicalname=logical_name,physicalname=physical_name ,cntrltype=controller_type|devstatus=device_status 其中:devtype=device_type 指定设备类型。logicalname=logical_name 指定设备的逻辑名称。physicalname=physical_name 指定设备的路径和文件名。第12页,本讲稿共35页使用sp_addumpdevice创建逻辑磁盘备份设备例:USE 学生管理数据库goEXEC sp_addumpdevice
8、 disk,bk_dev2,e:Program Filesmicrosoft sql serverMSSQLbackupbk_dev2.bak第13页,本讲稿共35页1使用企业管理器进行数据库备份(1)找到创建数据库备份的服务器。(2)选中指定的数据库,右键单击要进行备份的数据库图标,在弹出的菜单中选择“所有任务”,再选择“备份数据库”。(4)选择备份的数据库,输入备份的名称和备份的描述,选择备份的类型,如果是针对文件或文件组进行备份,可以单击右边的按钮选择要备份的文件或文件组。第14页,本讲稿共35页1使用企业管理器进行数据库备份(5)单击“添加”按钮选择要备份的设备,可以在弹出的对话框上创
9、建新的备份设备,也可以选择多个备份设备,一次备份到多个设备上。单击“确定”按钮完成添加。(6)在“重写”选项组中:“追加到媒体”:将新的备份添加到备份设备中,“重写现有媒体”:用新的备份来覆盖原来的备份。第15页,本讲稿共35页(7)选择“调度”复选框,可对备份的时间表进行设置。单击右面的按钮改变备份的时间安排,在弹出的“编辑调度”对话框中设定备份操作何时进行。1使用企业管理器进行数据库备份第16页,本讲稿共35页1使用企业管理器进行数据库备份(8)在“名称”中输入备份安排任务的名字,默认为 第1调度,在“调度类型”选项中可以单击“更改”按钮改变当前默认的备份时间设置。(9)单击“确定”按钮完
10、成时间设置。第17页,本讲稿共35页1使用企业管理器进行数据库备份(9)在数据库备份对话框中选择“选项”选项卡进行附加设置。在选项栏中通过单击复选框进行选择,如果选中了“完成后验证备份”,表示SQL Server 会阅读全部备份,检查备份介质是否可读,保证介质的完整性。(10)单击“确定”按钮完成备份。第18页,本讲稿共35页2使用T-SQL语句创建数据库备份格式:BACKUP DATABASE 数据库名 文件或文件组 ,.n TO 备份设备 ,.n 【例1】创建用于存放 MyNwind 数据库完整备份的逻辑备份设备。-创建备份设备exec sp_addumpdevice disk,mynwi
11、nd_1,disk=e:program filesmicrosoft sql servermssqlbackuplwzz_1.dat-进行全面备份backup database mynwind to mynwind_1第19页,本讲稿共35页1利用企业管理器恢复数据库备份(1)启动企业管理服务器,展开服务器组,然后展开服务器。(2)展开“数据库”文件夹,右击要还原的数据库,指向“所有任务”子菜单,然后单击“还原数据库”命令。(3)在“还原为数据库”列表框中,输入或选择要恢复的数据库名称。第20页,本讲稿共35页1利用企业管理器恢复数据库备份(4)在还原选项栏中单击“数据库”单选按钮。(5)在“
12、要还原的第一个备份”列表中,选择要恢复的备份集。(6)在“还原”列表中,单击要恢复的数据库备份。(7)单击“选项”选项卡并执行下列操作:(可选)在“还原为”中输入组成数据库备份的各数据库文件的新名称或新位置。(8)如果没有其他要应用的事务日志或差异数据库备份,单击“使数据库可以继续运行,但无法恢复其他事务日志”。如果要应用另一个事务日志或差异数据库备份,则单击“使数据库不再运行,但能恢复其他事务日志”。(9)然后单击“确认”开始恢复。第21页,本讲稿共35页2使用T-SQL语句恢复数据库 格式:RESTORE DATABASE database_name|database_name_var ,
13、.n FROM ,.n 【例3】显示恢复完整数据库备份。Restore database lwzz From lwzz _1With recovery第22页,本讲稿共35页备份事务日志文件1利用企业管理器备份事务日志文件第23页,本讲稿共35页备份事务日志文件2使用T-SQL语句恢复数据库格式:BACKUP LOG 数据库名称|database_name_var TO ,.n 第24页,本讲稿共35页例:备份学生管理数据库事务日志文件BACKUP LOG 学生管理数据库TO disk=c:Program Filesmicrosoft sql serverMSSQLData学生管理数据库_lo
14、g.bak备份事务日志文件第25页,本讲稿共35页还原事务日志文件1利用企业管理器还原事务日志文件第26页,本讲稿共35页还原事务日志文件2使用T-SQL语句恢复事务日志文件格式:RESTORE LOG 数据库名称|database_name_var FROM ,.n With recovery|norecovery第27页,本讲稿共35页例:还原学生管理数据库事务日志文件RESTORE LOG 学生管理数据库FROM disk=c:Program Filesmicrosoft sql serverMSSQLData学生管理数据库_log.bakWith recovery还原事务日志文件第28
15、页,本讲稿共35页数据库备份与恢复运用实例 数据库某天晚上20:00发生了系统死机故障,当天数据库中曾经成功地进行了如下数据备份操作:l7:00完全数据库备份l10:00事务日志备份l13:00事务日志备份l15:00增量数据库备份l16:00事务日志备份l19:00事务日志备份第29页,本讲稿共35页数据库备份与恢复运用实例 假定此次死机造成了大量数据丢失,为了恢复数据,可采取以下步骤:(1)重新启动系统,备份当时的事务日志,完成故障点事务日志备份。(2)还原最近一次完全数据库备份,即还原7:00发生的完全数据库备份。(3)还原增量数据库备份,即还原15:00发生的增量数据库备份。(4)还原
16、事务日志,即还原16:00 和19:00发生的事务日志备份。(5)还原故障点事务日志。第30页,本讲稿共35页数据库备份与恢复运用实例 SQL Server2000中,如果数据库文件(非系统数据库文件)遇到错误的时候,我们该怎么办:1、建一个测试数据库test(数据库类型为完全)2、建一个表,插入点记录create table a(c1 varchar(2)goinsert into a values(aa)goinsert into a values(bb)go3、作完全备份,到文件test_1.bak第31页,本讲稿共35页数据库备份与恢复运用实例4、再作一点修改insert into a
17、 values(cc)gocreate table b(c1 int)goinsert into b values(1)goinsert into b values(2)Go5、shutdown 数据库服务器6、用ultraedit编辑数据库文件test_data.mdf,随便修改点字节内容,相当于数据库遭到致命的损坏。第32页,本讲稿共35页数据库备份与恢复运用实例7、启动数据库,并且运行企业管理器,点开数据库,看到test变成灰色,而且显示置疑。8、运行isql-SLocalhost-Usa-Pbackup log test TO DISK=e:Program Filesmicrosoft
18、 sql serverMSSQLbackupbk_dev2.bak WITH NO_TRUNCATEGo9、进行恢复最老的完全备份RESTORE DATABASE test FROM DISK=e:Program Filesmicrosoft sql serverMSSQLbackupbk_dev1.bak WITH NORECOVERYgo第33页,本讲稿共35页数据库备份与恢复运用实例10、恢复最近的日志RESTORE LOG test FROM DISK=e:Program Filesmicrosoft sql serverMSSQLbackupbk_dev2.bak WITH RECOVERYgo数据已经完全恢复了,可以使用了。select*from ago总结,DBA应该有一个完善的数据库备份计划。本例中,如果没有一个完全备份的话,数据库的恢复就不可能 第34页,本讲稿共35页课后作业课后作业1、什么是数据库的备份和恢复?2、SQL Server 2000提供哪几种数据库备份和恢复的方式?3、什么是备份设备,SQL Server 2000可以使用哪几种备份设备?4、某企业的数据库每周日晚12点进行一次全库备份,每天晚12点进行一次差异备份,每小时进行一次日志备份,数据库在2000/12/23 3:30崩溃,应如何将其恢复使数据损失最小?第35页,本讲稿共35页