数据库备份与还原.ppt_第1页
数据库备份与还原.ppt_第2页
数据库备份与还原.ppt_第3页
数据库备份与还原.ppt_第4页
数据库备份与还原.ppt_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第11章 数据库备份与还原,2019/7/28,2 / 30,尽管SQL Server 2005提供了将备份与恢复自动化的工具与模型,但是数据库管理员仍然需要确定适当的方法,需要建立、建档和测试健全的恢复计划。备份与恢复是任何数据库项目的关键部分,是应当在开发的所有阶段都要考虑的。 本章教与学的建议 教师使用2课时边讲边演示,学生使用2课时在课堂内练习,通过学习能够根据需要灵活地使用对象资源管理器或T-SQL语句进行数据库备份和还原。,第11章 数据库的备份与还原,2019/7/28,3 / 30,本章学习任务 备份与还原的概述 备份与还原概念 备份与还原方式 数据库的备份 备份设备 备份的执行 数据库的还原 使用对象资源管理器还原数据库 使用T-SQL语句还原数据库 数据库维护,第11章 数据库的备份与还原,2019/7/28,4 / 30,备份的重要性,备份是恢复受损数据库最容易、把意外损失降到最小的保障方法。 造成数据库损失的因素有很多: 存储介质故障。 用户错误操作。 服务器彻底崩溃。 一些难以预料的因素。 如果数据库受到损害导致不可读,应先删除受损的数据库,然后再从备份的文件中进行数据库的重建从而恢复数据库,2019/7/28,5 / 30,什么是备份? 备份是指在某种介质上(如磁盘、磁带等)存储数据库(或一部分)的拷贝。 什么是还原? 还原是指利用数据库的备份,将数据库返回到备份时的状态。,备份与还原的概述,2019/7/28,6 / 30,数据库备份,备份是指对数据库事务日志进行拷贝,数据库备份记录了在进行备份操作时数据库中所有数据的状态。如果数据库因意外而损坏,这些备份文件在数据库恢复时被用来还原数据库。 制定一个良好的备份策略,定期对数据库进行备份是保护数据库的一项重要措施。如果发生数据丢失或破坏的情况,可以从数据库备份中将数据恢复到原来的状态。另外,除了保护数据库安全,在制作数据库副本和在不同服务器之间移动数据库时也要用到数据库备份。,2019/7/28,7 / 30,数据库备份类型,1. 数据库完整备份 数据库完整备份是指对数据库内的所有对象都进行备份,如果数据库不是很大而且不是24小时运行的应用系统,也不是一个变化频繁的系统,可以采用这种备份方式。如果数据库很大,采用这种方式将很费时间,甚至造成系统访问缓慢。虽然完整备份比较费时间,但是对于数据库还是需要定期做完整备份,如一周一次。,2019/7/28,8 / 30,数据库备份类型,2. 数据库差异备份 数据库差异备份只备份(Differential Database Backup)自从上次数据库全部备份后(注意:不是上一次差异备份后)数据库变动的部分。如果你在某一天做了数据库全部备份后,接下来又做了几次差异备份,当你恢复数据库时只要先恢复上次的完整备份,然后再恢复最近一次的差异备份就可以了,而不需要依次恢复每一次的差异备份。,2019/7/28,9 / 30,数据库备份类型,2. 数据库差异备份 差异数据库备份只记录自上次数据库备份后发生更改的数据。差异数据库备份比数据库备份小而且备份速度快,因此可以经常地备份,经常备份将减少丢失数据的危险。使用差异数据库备份将数据库还原到差异数据库备份完成时那一点。若要恢复到精确的故障点,必须使用事务日志备份。,2019/7/28,10 / 30,数据库备份类型,3. 事务日志备份 事务日志备份(Transaction log backup)只备份数据库的事务处理记录,当数据库很大时,每次完整备份需要花费很多时间,并且系统可能需要24小时运行,不允许让过长的备份时间影响在线运行,这时可以采用事务日志备份方式。但是,事务日志备份在数据库恢复时无法单独运行,它必须和一次完整备份一起才可以恢复数据库,而且事务日志备份在恢复时有一定的时间顺序,不能搞错。,2019/7/28,11 / 30,数据库备份类型,4. 文件及文件组备份 文件及文件组备份是针对单一数据库文件或者是文件夹做备份和恢复,它的好处是便利和具有弹性,而且在恢复时可以仅仅针对受损的数据库文件做恢复。 虽然文件及文件组备份有其方便性,但是这类备份必须搭配事务日志备份,因为在恢复部分数据库文件或者文件夹后必须恢复自数据库文件或者文件夹备份后所做的所有事务日志备份,否则会造成数据库的不一致性。因此在做完文件或者文件夹备份后最好立刻做一个事务日志备份。,2019/7/28,12 / 30,数据库的还原策略由数据库的还原模型决定,还原模型是数据库遭到破坏时恢复用于数据库中数据的存储方式。 SQL Server 2005有三种还原模型: 简单还原模型 完整还原模型 大容量日志记录还原,数据库还原方式,2019/7/28,13 / 30,简单还原模型 特点: 因为数据库没有事务日志备份,所以只能执行完整数据库备份和差异备份。 优点: 耗费比较少的磁盘空间,恢复模型简单。 缺点: 数据库只能还原到执行备份操作的那一刻,执行备份之后的所有数据修改都将丢失。,数据库还原方式,2019/7/28,14 / 30,完整还原模型 允许将数据库还原到故障点状态。因为这种模型对数据库的所有操作都记录在事务日志中,所以当数据库遭到破坏时,可以使用事务日志迅速地将数据库恢复到破坏前的那一刻。这种还原模型能对数据库执行完全数据库备份、差异备份(可选)和事务日志备份。 还原次序:应该从最近的一次完整备份开始;如果最近一次完全备份之后还有差异备份则还原最后一个差异备份;如果最后一个差异备份之后还有日志备份则依次全部还原。,数据库还原方式,2019/7/28,15 / 30,大容量日志记录还原 同完整还原模型一样,只是事务日志耗费的磁盘空间比完全还原模型小得多。具体见完整还原模型。,数据库还原方式,2019/7/28,16 / 30,本章学习任务 备份与还原的概述 备份与还原概念 备份与还原方式 数据库的备份 备份设备 备份的执行 数据库的还原 使用对象资源管理器还原数据库 使用T-SQL语句还原数据库 数据库维护,第11章 数据库的备份与还原,2019/7/28,17 / 30,备份的执行数据库的备份策略一般采用: 完全数据库备份策略。主要应用于数据库比较小或数据库的数据很少修改或只读等情况。 完全数据库备份和日志备份策略。主要应用于数据至关重要,任何数据丢失都是难以接受的情况或数据库更新非常频繁等情况。 差异备份策略。增加备份操作速度,减少备份时间。一般来说,为了减少数据损失在进行增量备份之间的时间间隔内执行日志备份。,数据库的备份,2019/7/28,18 / 30,备份和还原的流程: 创建备份设备 进行数据库的完整备份、差异备份、日志备份、文件和文件组备份 还原数据库,数据库的备份,2019/7/28,19 / 30,2备份设备,备份设备是指备份内容的存储介质。包括: “disk(硬盘文件)” “tape(磁带)” “pipe(命名管道)” 其中,硬盘文件最常用设备介质。,2019/7/28,20 / 30,管理备份设备,在备份一个数据库之前,需要先创建一个备份设备,比如磁带、硬盘等,然后再去复制有备份的数据库、事务日志、文件/文件组。 SQL Server 2005可以将本地主机或者远端主机上的硬盘作为备份设备,数据备份在硬盘是以文件的方式被存储。SQL Server 2005只支持将数据备份到本地磁带机,无法将数据备份到网络上的磁带机。,2019/7/28,21 / 30,管理备份设备,新建一个备份设备,2019/7/28,22 / 30,管理备份设备,使用备份设备备份数据库,2019/7/28,23 / 30,管理备份设备,查看备份设备,2019/7/28,24 / 30,管理备份设备,删除备份设备,2019/7/28,25 / 30,备份数据库,打开SQL Server Management Studio,右击需要备份的数据库,选择“任务”“备份”命令,出现备份数据库窗口。在这里可以选择要备份的数据库以及备份类型。,2019/7/28,26 / 30,备份数据库,备份数据库窗口,2019/7/28,27 / 30,使用T-SQL语句管理备份设备,创建一个备份设备 sp_addumpdevice , , 删除备份设备 sp_dropdevice logicalname = device , delfile = delfile ,2019/7/28,28 / 30,备份数据库,备份数据库T-SQL语句的语法形式 BACKUP DATABASE database_name | database_name_var TO ,.n WITH DESCMPTION=text | text_varable , DIFFERBNTIAL , INIT | NOINIT , MEDIANAME=media_name | media_name_variable , NAME=backup_set_name | backup_set_name_var ,2019/7/28,29 / 30,使用T-SQL语句备份数据库,(1)数据库完全备份 BACKUP DATABASE TO (2)数据库差异备份 BACKUP DATABASE TO WITH DIFFERENTIAL (3)事务日志备份 BACKUP LOG TO ,2019/7/28,30 / 30,例为student数据库创建备份 sp_addumpdevice disk,s_bak_mdf,d:examples_bak_mdf.bak go sp_addumpdevice disk,s1_bak_mdf,d:examples1_bak_mdf.bak go sp_addumpdevice disk, s_bak_log,d:examples_bak_log.bak go backup database student to s_bak_mdf backup database student to s1_bak_mdf with differential backup log student to s_bak_log,2019/7/28,31 / 30,本章学习任务 备份与还原的概述 备份与还原概念 备份与还原方式 数据库的备份 备份设备 备份的执行 数据库的还原 使用对象资源管理器还原数据库 使用T-SQL语句还原数据库 数据库维护,第11章 数据库的备份与还原,2019/7/28,32 / 30,使用对象资源管理器还原数据库 启动SQL Server Management Studio,选择服务器,右击相应的数据库,选择“还原”命令,再单击“数据库”,出现还原数据库窗口。 使用备份设备还原 在还原数据库窗口中选择“源设备”,单击其文本框右边的按钮,出现“指定备份”对话框。 选中备份媒体中的备份设备,单击“添加”按钮,出现“选择备份设备”对话框。 选择相应的备份设备,单击“确定”按钮即可。,还原数据库,2019/7/28,33 / 30,还原数据库,2019/7/28,34 / 30,使用T-SQL语句还原数据库 RESTORE DATABASEdatabase_name | database_name_var FROM,n WITH FILE=file_number MEDIANAME=media_name | med1a_name_variable , MOVE logical_file_name TO operating_system_file_name,n , NORECOVERY | RECOVERY | STANDBY=undo_file_name , REPLACE , RESTART ,还原数据库,2019/7/28,35 / 30,数据库的恢复,(1)从数据库备份中还原 RESTORE DATABASE FROM WITH NORECOVERY,2019/7/28,36 / 30,数据库的恢复,(2)从事务日志备份中还原 RESTORE LOG FROM WITH NORECOVERY 其中,要继续从后续备份中还原数据必须带参数WITH NORECOVERY,且数据库不可用。,2019/7/28,37 / 30,数据库的恢复,(3)从指定还原点还原 RESTORE LOG FROM WITH RECOVERY,STOPAT= ,2019/7/28,38 / 30,例还原数据库student。 restore database student from s_bak_mdf with norecovery restore database student from s1_bak_mdf with norecovery restore database student from s_bak_log,2019/7/28,39 / 30,例定点还原实例。 说明:按步骤完成以下操作,其中的注释语句可以在SQL-EM中进行,其余语句可以在查询分析器中执行。本例说明如何使用事务日志备份将数据库还原至任一时间点。 sp_addumpdevice disk, s_mdf, d:examples_mdf.bak go sp_addumpdevice disk, s_log1, d:examples_log1.bak go sp_addumpdevice disk, s_log2, d:examples_log2.bak go backup database student to s_mdf -对数据库student进行了修改1 backup log student to s_log1 -对数据库student进行了修改2 -对数据库student进行了修改3 (设时间为2005-6-17 16:38:00 ) -对数据库student进行了修改4 backup log student to s_log2 restore database student from s_mdf with norecovery restore log student from s_log1 with norecovery restore log student from s_log2 with recovery,stopat=2005-06-17 16:38 PM -将数据库student还原至2005-6-17 16:38:00时的状态。,2019/7/28,40 / 30,创建数据库维护计划可以让SQL Server自动而有效地维护数据库。 在数据库引擎中,维护计划可创建一个作业按照预定间隔自动执行这些维护任务。 维护计划向导可以用于设置核心维护任务,从而确保数据库执行良好,做到定期备份数据库以防系统出现故障,对数据库实施不一致性检查。维护计划向导可创建一个或多个SQL Server代理作业,代理作业将按照计划的间隔自动执行这些维护任务。,数据库维护,2019/7/28,41 / 30, 实验目的 了解SQL Server 2005系统的版本特点。 学会SQL Server 2005系统的安装、服务器注册与配置,以及安装后的验证。 学会使用SQL Server Management Studio 实验准备 硬件准备、软件准备、网络准备请参见教

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论