《第六章 数据库的备份与恢复》由会员分享,可在线阅读,更多相关《第六章 数据库的备份与恢复(69页珍藏版)》请在金锄头文库上搜索。
1、,第六章 数据库的备份与恢复,一、备份与恢复二、数据库备份策略 三、基于事务日志的恢复 四、SQL Server 2000数据库的恢复模型 五、SQL Server 2000数据库的备份与恢复组合策略,一、备份与恢复,1、数据库系统故障系统故障又称为软故障,是由于突然停电或操作系统等原因,导致内存中的数据或者日志内容突然被破坏,事务处理被中止,但是物理介质上的数据和日志并没有被破坏。这种故障由于没有破坏物理的数据和日志文件,是由SQL Server 2000系统本身,通过事务日志进行修复的,不需要DBA手工干预。,一、备份与恢复,事务故障事务故障是指事务运行时由于某种原因,没有被正常结束提交,
2、就终止了。这种故障也是由SQL Server 2000系统本身进行修复的,也就是通过事务日志进行事务的回滚。,一、备份与恢复,介质故障又称为硬故障,例如:由于物理存储介质的故障发生读写错误或者保存有数据库文件的磁盘驱动器彻底崩溃或损坏用户无意或恶意地在数据库上进行了大量的非法操作,如删除了某些重要的数据,甚至删除了整个数据库,一、备份与恢复,2、什么是备份备份就是对SQL Server数据库或事务日志进行拷贝,数据库备份记录了在进行备份这一操作时数据库中所有数据的状态,以便在数据库遭到破坏时能够及时地将其恢复。,一、备份与恢复,3、什么是恢复恢复就是把遭受破坏或丢失数据或出现错误的数据库恢复到
3、原来的正常状态。,二、数据库备份策略,1、完全数据库备份(Database Backups)是指对数据库的完整备份,包括用户表、系统表、索引、视图和存储过程等所有数据库对象。在备份的过程中花费的时间较长,备份文件占用的空间也较大,一般推荐一周做一次完全数据库备份,恢复时只需恢复最后一次备份就可以。,二、数据库备份策略,优点这种方案的优点是简单,而且在进行数据库恢复时操作也很方便。缺点如果只进行完全数据库备份,那么将无法恢复自最近一次数据库备份以来,数据库中所发生的所有事务。也就是最后一次完全数据库备份以后对数据库的操作将全部丢失。,二、数据库备份策略,二、数据库备份策略,2、差异备份(Diff
4、erential Database Backups)差异备份是指将最近一次数据库备份以来发生的数据变化备份起来,因此差异备份实际上是一种增量数据库备份,也叫增量备份。差异备份是累积的,也就是在最后一次完全数据库备份以后所做的每一次差异备份,都是备份这次完全数据库备份后所有被修改的内容。,二、数据库备份策略,二、数据库备份策略,注意:不能单独恢复差异备份,因为差异备份是以一次完全数据库备份作为基础的,如果我们没有对数据库进行一次完全数据库备份,是不能进行差异备份的。差异备份也存在和数据库备份一样的问题,就是不能保存最后一次差异备份以后对数据库所做的所有改动。,二、数据库备份策略,3、事务日志备份
5、(Transaction Log Backup)事务日志备份是指对数据库发生的事务进行备份,它包括从上次进行事务日志备份之后,所有已经完成的事务。,二、数据库备份策略,随着我们对数据库的操作日积月累,日志文件将不断增大直到磁盘爆满为止。 为了防止这种现象出现,SQL Server 2000实行这样的机制,每当进行一次事务日志文件的备份,就把系统中日志文件中备份完的这部分删除掉。 所以,日志文件的内容是从最后一次进行事务日志文件备份以后用户对数据库进行的所有操作。,二、数据库备份策略,从这里可以看出所有事务日志备份文件形成一个首尾相接的日志序列。但是利用日志备份文件进行恢复时,需要重新执行日志记
6、录中对数据库的修改命令,需要的时间较长。恢复时,先恢复最后一次完全数据库备份,再恢复最后一次差异备份,最后再恢复最后一次差异备份以后进行的所有事务日志备份。,二、数据库备份策略,4、文件或文件组备份(File and File Group Backup)数据库可以由硬盘上的许多文件构成,可以使用文件备份来备份数据库的个别文件。这样在还原时,可以只还原已损坏的文件,而不用还原数据库的其余部分,这样可以加快恢复速度。,三、基于事务日志的恢复,、事务类型当系统发生故障以后,会根据日志文件进行恢复操作,这时有两种情况:圆满事务事务已经完成,并且被提交,日志文件对这种事务进行的恢复操作是redo操作,也
7、就是把事务再重新执行一次。,三、基于事务日志的恢复,夭折事务事务还没有被完成,系统就发生故障了,日志文件对这种事务进行的恢复操作是undo操作,也就是把事务中已经进行的操作进行反操作,也就是撤消该操作,以达到事务执行前的状态。,基于日志记录恢复系统,三、基于事务日志的恢复,、什么是检查点生成检查点的步骤:将当前位于内存中的所有日志记录输出到外存上,也就是硬盘上。将所有修改了的数据库缓冲块输出到外存上(没有修改过的数据不用输出到外存上,提高性能)。将一个日志记录检查点输出到外存上。,生成检查点,三、基于事务日志的恢复,检查点机制是保证在检查点之前,外存上的日志文件和数据文件是一致的,这样系统在恢
8、复时,只是重做检查点时刻之后的圆满事务,和反做夭折事务就可以了。而对于在检查点之前提交的事务,也就是圆满事务已经被写到外存上的数据库中了,所以就不用对该事务进行redo操作了,大大提高了性能。,四、SQL Server 2000数据库的恢复模型,SQL Server 2000设计了三种数据库恢复模型可以供用户根据不同的需要进行选择。不同的数据库恢复模型对应的日志操作是不一样的。,四、SQL Server 2000数据库的恢复模型,1、完全恢复模型(Full Recovery) 工作在完全恢复模型下的SQL Server 2000数据库将忠实、完整地记录所有的日志。在恢复数据库时,通过使用数据库
9、备份和事务日志备份,可以将数据库恢复到发生失败的时刻,因此几乎不造成任何数据丢失,这成为对付因存储介质损坏而数据丢失的最佳方法。,四、SQL Server 2000数据库的恢复模型,操作: 在企业管理器中打开服务器数据库选中要修改恢复模型的数据库右键属性在“选项”标签页中,在故障还原模型中选择“完全 ”,三、SQL Server 2000数据库的恢复模型,四、SQL Server 2000数据库的恢复模型,2、简单恢复模型(Simple Recovery)工作在简单恢复模型下的SQL Server 2000数据库的日志虽然会记录下数据库的所有操作,但是在检查点进程发生以后就会自动截断日志中不活
10、动的部分(也就是已经完成的事务),这样每发生一次检查点,日志已经完成的部分就被删除了。,四、SQL Server 2000数据库的恢复模型,操作: 在企业管理器中打开服务器数据库选中要修改恢复模型的数据库右键属性在“选项”标签页中,在故障还原模型中选择“简单”,三、SQL Server 2000数据库的恢复模型,四、SQL Server 2000数据库的恢复模型,3、大容量日志记录恢复模型(Bulk-logged Recovery) 工作在大容量日志记录恢复模型下的SQL Server 2000数据库的日志记录,会被大大简化,不记录足够的细节,这样就可以大大减少日志记录的数量,日志少了,读写I
11、/O少,效率也就提高了。,三、SQL Server 2000数据库的恢复模型,五、SQL Server 2000数据库的备份与恢复组合策略,1、备份方案完整备份(每个星期天一次)+差异备份(每天备份一次)+日志备份(每2小时或更短时间备份一次),五、SQL Server 2000数据库的备份与恢复组合策略,2、完全数据库备份与恢复,五、SQL Server 2000数据库的备份与恢复组合策略,3、完全+差异数据库备份与恢复,五、SQL Server 2000数据库的备份与恢复组合策略,要恢复到10:30的状态应该为完全数据库备份1+差异数据库备份1要恢复到11:00的状态应该为完全数据库备份1
12、+差异数据库备份2 要恢复到12:30的状态应该为完全数据库备份2+差异数据库备份3,五、SQL Server 2000数据库的备份与恢复组合策略,4、完全+日志数据库备份与恢复,五、SQL Server 2000数据库的备份与恢复组合策略,要恢复到10:30的状态应该为完全数据库备份1+日志数据库备份1要恢复到11:00的状态应该为完全数据库备份1+日志数据库备份1+日志数据库备份2 而不能选择完全数据库备份1+日志数据库备份2,五、SQL Server 2000数据库的备份与恢复组合策略,要恢复到12:30的状态有两种选择:完全数据库备份2+日志数据库备份3完全数据库备份1+日志数据库备份
13、1+日志数据库备份2+日志数据库备份3,五、SQL Server 2000数据库的备份与恢复组合策略,要恢复到12:20的状态应选择完全数据库备份2+日志数据库备份3再选择还原的时间点(对话框中的时点还原):12:20,时间点的选择是有范围的,只能在完全数据库备份2和日志数据库备份3之间选择。,五、SQL Server 2000数据库的备份与恢复组合策略,五、SQL Server 2000数据库的备份与恢复组合策略,作业:1、什么是登录账号,什么是数据库用户账号,它们有什么区别和联系?2、什么是权限, 简要叙述一下三种类型的权限?3、什么是角色,都有哪几种类型的角色?4、简要叙述一下四种数据库
14、备份策略,它们各有什么特点?5、什么是完全恢复模型,什么是简单恢复模型,它们之间有什么区别?,五、SQL Server 2000数据库的备份与恢复组合策略,5、备份操作操作:在企业管理器中打开服务器数据库选中要备份的数据库右键所有任务备份数据库。数据库:选择要备份的数据库名称:描述:备份:选择备份类型目的:可以选择新的备份设备,也可以选择现有的备份设备。重写:追加到媒体,重写现有媒体。,五、SQL Server 2000数据库的备份与恢复组合策略,五、SQL Server 2000数据库的备份与恢复组合策略,完全备份,五、SQL Server 2000数据库的备份与恢复组合策略,五、SQL S
15、erver 2000数据库的备份与恢复组合策略,五、SQL Server 2000数据库的备份与恢复组合策略,五、SQL Server 2000数据库的备份与恢复组合策略,五、SQL Server 2000数据库的备份与恢复组合策略,五、SQL Server 2000数据库的备份与恢复组合策略,差异备份,五、SQL Server 2000数据库的备份与恢复组合策略,日志备份,五、SQL Server 2000数据库的备份与恢复组合策略,6、恢复操作操作:在企业管理器中打开服务器数据库选中要恢复的数据库右键所有任务还原数据库,五、SQL Server 2000数据库的备份与恢复组合策略,五、SQL Server 2000数据库的备份与恢复组合策略,五、SQL Server 2000数据库的备份与恢复组合策略,1、备份方案完整备份(每个星期天一次)+差异备份(每天备份一次)+日志备份(每2小时或更短时间备份一次),