论文部分内容阅读
摘 要:恢复机制是维护数据库完整性和安全性的重要技术之一。本文通过实验阐述和验证数据库恢复机制的差异性,以及在整个事务日志备份中通过恢复点(恢复点可以精确到ms级,现实需要恢复到秒级)设置实施实时恢复;明确一次日志备份恢复点作用范围,最后证实在日志备份期间可以通过恢复点设置将差异备份数据恢复。
关键词:恢复机制;完整备份;差异备份;日志备份;恢复点
中图分类号:TP311.13
数据库内存储了大量有用的用户数据,一旦数据丢失,将造成无法估量的损失。数据库软件防止数据丢失主要是通过完善的数据恢复机制——数据备份和数据恢复模型设置来实现。备份可以防止数据库遭受破坏、存储介质失效或用户误操作而造成数据灾难,恢复可以将数据库恢复到损失最小,最大程度降低数据灾难,以保持数据的完整性和一致性。
在大多数教学案例中对数据库采用先完整备份,差异备份,事务日志备份的顺序并将数据库备份在一个文件myback.bak中,恢复时按照备份的文件参数file顺序依次还原。日志备份和差异备份都是基于完整备份的,若出现完整备份——事务日志备份——差异备份——事务日志备份时,还可以放在一个文件备份中吗?为什么按上述次序备份后在数据恢复到差异备份时就会出现错误?
本实验中以日志备份在完整备份和差异备份之间设计,通过实验设计只有一个备份文件,系统提示在先前的备份文件以backup log开始,不能恢复backup database。由于日志备份保持持续才可以恢复数据,针对这个问题,我们根据备份方式不同设置三个不同的备份文件依次是完整备份的文件myback.bak,差异备份的文件myback.dif,日志备份文件myback.trn。日志备份可以通过设置恢复点实现实时恢复,可以将日志备份期间的差异备份的数据恢复。
1 数据库恢复机制的差异性
完全备份——不管恢復模式是哪一个,所有的备份都必须要有一个完整备份,特别是日志备份和差异备份,如果没有完整备份将无法进行恢复。
日志备份——在完全恢复模式或者大容量日志恢复模式下,日志备份是恢复的需要,也是手工管理事务日志文件的一种方式。备份防止事务日志持续增长一致消耗完资源。每个在数据库上的动作都会被安排一个Log Sequence Number(LSN)。如果需要还原到指定的时间点,需要有持续的LSN记录。
在简单恢复模式下对数据库不能进行事务日志备份和文件组备份,可以使用alter database数据库名称set recovery full设置数据库,实现对数据库实现事务日志备份和文件组备份。
差异备份——差异备份是针对完整备份:备份上一次的完整备份后发生变化的所有数据文件。相对日志备份使用差异备份,便能缩短恢复时间。
以student数据库score表(如图1)为例,设计在插入score值为70,设置时间为riqi为get date()时,在t0时刻做完整备份;修改数据为score=60,riqi=get date()时,在t1时刻做日志备份;修改数据为score=65,riqi=get date()时,在t2时刻做差异备份;修改数据为score=75,riqi=get date()时,在t3时刻做日志备份;修改数据为score=80,riqi=get date()时,在t4时刻做日志备份。实现恢复机制的差异性,最后实现实时恢复(如图2)。
备份完成之后可根据实际需要进行恢复,完整备份前状态直接从设备mydata中直接恢复,若将score的值恢复到60,75,80时,可从设备mydata和time中按照file(time设备中的参数)顺序恢复,若将score的值恢复到65时,可从设备mydata,time和diff或者使用mydata和diff按照备份先后顺序恢复,实验如表2中所述。
2 数据库恢复机制的实时性
事务日志备份可通过设置恢复点实现实时恢复,表3中通过8个实验设置不同阶段的恢复点和得到的相对应的结果,分析如下:实验1,2验证了事务日志可以恢复到完整备份之前;实验2,3验证了第二次日志备份不可以恢复到第一次日志备份之前,影响数据的恢复效果正确性;实验4,5验证了日志备份和差异备份的有分界点,在日志备份中可以通过恢复点设置将差异备份的数据恢复;实验2~7验证了第二次日志备份恢复点的设置的作用范围开始于第一次备份之后,结束于第三次备份之前,若使恢复的数据正确则使用上次备份之尾到本次备份之时;实验7,8验证了第二次日志备份不能设置恢复点到第三次日志备份之后,只能在第三次日志备份之前;实验1~8验证了数据库可以通过日志备份文件中的任何日志备份设置恢复点将数据库实时恢复。
3 结束语
综上所述,本文通过本地服务器上数据库的实例实验阐述和验证数据库恢复机制的差异性和实时性。在现实生活中拥有庞大数据,性能复杂的分布式数据库,分布式数据库备份恢复技术包括分布式数据库技术,备份恢复技术等多方面的内容,如何高效地存储和访问数据已成为优化恢复机制的又一焦点,如何根据要求制订完善的备份方案,根据数据库的分布特点实施实时恢复仍需要进一步的探讨验证。
参考文献:
[1]李春葆,曾慧.数据库原理与应用——基于SQL Server[M].北京:清华大学出版社,2012,4.
[2]刘芳.SQL Server数据库技术及应用项目教程[M].北京:清华大学出版社,2010,3.
[3]何玉洁.数据库系统教程[M].北京:人民邮电出版社,2010.
作者简介:赵红霞(1983-),女,山西运城人,教师,助教,硕士学位,研究方向:计算机应用技术。
作者单位:运城职业技术学院,山西运城 044000
关键词:恢复机制;完整备份;差异备份;日志备份;恢复点
中图分类号:TP311.13
数据库内存储了大量有用的用户数据,一旦数据丢失,将造成无法估量的损失。数据库软件防止数据丢失主要是通过完善的数据恢复机制——数据备份和数据恢复模型设置来实现。备份可以防止数据库遭受破坏、存储介质失效或用户误操作而造成数据灾难,恢复可以将数据库恢复到损失最小,最大程度降低数据灾难,以保持数据的完整性和一致性。
在大多数教学案例中对数据库采用先完整备份,差异备份,事务日志备份的顺序并将数据库备份在一个文件myback.bak中,恢复时按照备份的文件参数file顺序依次还原。日志备份和差异备份都是基于完整备份的,若出现完整备份——事务日志备份——差异备份——事务日志备份时,还可以放在一个文件备份中吗?为什么按上述次序备份后在数据恢复到差异备份时就会出现错误?
本实验中以日志备份在完整备份和差异备份之间设计,通过实验设计只有一个备份文件,系统提示在先前的备份文件以backup log开始,不能恢复backup database。由于日志备份保持持续才可以恢复数据,针对这个问题,我们根据备份方式不同设置三个不同的备份文件依次是完整备份的文件myback.bak,差异备份的文件myback.dif,日志备份文件myback.trn。日志备份可以通过设置恢复点实现实时恢复,可以将日志备份期间的差异备份的数据恢复。
1 数据库恢复机制的差异性
完全备份——不管恢復模式是哪一个,所有的备份都必须要有一个完整备份,特别是日志备份和差异备份,如果没有完整备份将无法进行恢复。
日志备份——在完全恢复模式或者大容量日志恢复模式下,日志备份是恢复的需要,也是手工管理事务日志文件的一种方式。备份防止事务日志持续增长一致消耗完资源。每个在数据库上的动作都会被安排一个Log Sequence Number(LSN)。如果需要还原到指定的时间点,需要有持续的LSN记录。
在简单恢复模式下对数据库不能进行事务日志备份和文件组备份,可以使用alter database数据库名称set recovery full设置数据库,实现对数据库实现事务日志备份和文件组备份。
差异备份——差异备份是针对完整备份:备份上一次的完整备份后发生变化的所有数据文件。相对日志备份使用差异备份,便能缩短恢复时间。
以student数据库score表(如图1)为例,设计在插入score值为70,设置时间为riqi为get date()时,在t0时刻做完整备份;修改数据为score=60,riqi=get date()时,在t1时刻做日志备份;修改数据为score=65,riqi=get date()时,在t2时刻做差异备份;修改数据为score=75,riqi=get date()时,在t3时刻做日志备份;修改数据为score=80,riqi=get date()时,在t4时刻做日志备份。实现恢复机制的差异性,最后实现实时恢复(如图2)。
备份完成之后可根据实际需要进行恢复,完整备份前状态直接从设备mydata中直接恢复,若将score的值恢复到60,75,80时,可从设备mydata和time中按照file(time设备中的参数)顺序恢复,若将score的值恢复到65时,可从设备mydata,time和diff或者使用mydata和diff按照备份先后顺序恢复,实验如表2中所述。
2 数据库恢复机制的实时性
事务日志备份可通过设置恢复点实现实时恢复,表3中通过8个实验设置不同阶段的恢复点和得到的相对应的结果,分析如下:实验1,2验证了事务日志可以恢复到完整备份之前;实验2,3验证了第二次日志备份不可以恢复到第一次日志备份之前,影响数据的恢复效果正确性;实验4,5验证了日志备份和差异备份的有分界点,在日志备份中可以通过恢复点设置将差异备份的数据恢复;实验2~7验证了第二次日志备份恢复点的设置的作用范围开始于第一次备份之后,结束于第三次备份之前,若使恢复的数据正确则使用上次备份之尾到本次备份之时;实验7,8验证了第二次日志备份不能设置恢复点到第三次日志备份之后,只能在第三次日志备份之前;实验1~8验证了数据库可以通过日志备份文件中的任何日志备份设置恢复点将数据库实时恢复。
3 结束语
综上所述,本文通过本地服务器上数据库的实例实验阐述和验证数据库恢复机制的差异性和实时性。在现实生活中拥有庞大数据,性能复杂的分布式数据库,分布式数据库备份恢复技术包括分布式数据库技术,备份恢复技术等多方面的内容,如何高效地存储和访问数据已成为优化恢复机制的又一焦点,如何根据要求制订完善的备份方案,根据数据库的分布特点实施实时恢复仍需要进一步的探讨验证。
参考文献:
[1]李春葆,曾慧.数据库原理与应用——基于SQL Server[M].北京:清华大学出版社,2012,4.
[2]刘芳.SQL Server数据库技术及应用项目教程[M].北京:清华大学出版社,2010,3.
[3]何玉洁.数据库系统教程[M].北京:人民邮电出版社,2010.
作者简介:赵红霞(1983-),女,山西运城人,教师,助教,硕士学位,研究方向:计算机应用技术。
作者单位:运城职业技术学院,山西运城 044000