The invention discloses a multi time point data recovery method and system based on SQL Server database, which comprises the following steps: S1. Regularly query the transaction log function of the database, obtain the current log serial number current LSN field and the end time checkpoint end field value; S2. Analyze the end time checkpoint end field value of the checkpoint, if it is null The current LSN field value corresponding to the checkpoint end field value is saved as the benchmark reference value of the next query; if it is not null, the checkpoint end field value of all the non null values queried is taken as the consistency time point of this recovery data, and the current LSN field of the transaction log and the end time ch of the checkpoint are obtained The eckpoint end field ends, waiting for the next query cycle. The invention has the advantages that the data of the database is recovered through the captured consistency time point.
【技术实现步骤摘要】
基于SQLServer数据库的多时间点数据恢复方法及系统
本专利技术涉及持续数据保护
,具体来说,涉及一种基于SQLServer数据库的多时间点数据恢复方法及系统。
技术介绍
持续数据保护(ContinuousDataProtection,简称CDP)是一种在不破坏当前数据的前提下,可以实现对目标数据状态的任何改变进行持续捕捉或跟踪,并且能够将数据恢复到之前任意时间点的方法。在传统数据保护技术中采用的是拷贝单时间点的数据并进行管理的方法,而持续数据保护可以实现拷贝任意时间点的数据,当生产数据由于人为的逻辑错误而导致数据的破坏时(例如数据被误删除),传统数据保护技术会将遭到破坏的数据状态同步到目标数据存储系统,使目标数据也受到破坏,而CDP技术可以使目标数据状态恢复到数据遭到破坏之前的任意一个时间点,从而保证数据的正确性。虽然CDP技术可以使数据状态恢复到数据遭到破坏之前的任意一个时间点,但是恢复后的数据不能确保数据库处于一致性状态,而非一致性状态的数据库有可能导致数据的准确性,影响数据的正常使用,进而造成数据的毁坏。针对相关技术中的问题,目前尚未提出有效的解决方案。
技术实现思路
针对相关技术中的上述技术问题,本专利技术提出一种基于SQLServer数据库的多时间点数据恢复方法及系统,能够通过捕获的一致性时间点进行数据库的数据恢复。为实现上述技术目的,本专利技术的技术方案是这样实现的:一种基于SQLServer数据库的多时间点数据恢复方法,包括以下步骤 ...
【技术保护点】
1.一种基于SQLServer数据库的多时间点数据恢复方法,其特征在于,包括以下步骤:/nS1.定时对数据库的事务日志函数进行查询,获取当前的日志序列号Current LSN字段和检查点的结束时间Checkpoint End字段值;/nS2.分析所述检查点的结束时间Checkpoint End字段值,若为空值,将所述CheckpointEnd字段值对应的所述日志序列号Current LSN字段值作为下一次查询的基准参考值保存;若不为空值,将查询到的所有不为空值的所述Checkpoint End字段值作为本次恢复数据的一致性时间点,本次获取事务日志当前序列号Current LSN字段和检查点的结束时间Checkpoint End字段结束,等待进行下一查询周期。/n
【技术特征摘要】
1.一种基于SQLServer数据库的多时间点数据恢复方法,其特征在于,包括以下步骤:
S1.定时对数据库的事务日志函数进行查询,获取当前的日志序列号CurrentLSN字段和检查点的结束时间CheckpointEnd字段值;
S2.分析所述检查点的结束时间CheckpointEnd字段值,若为空值,将所述CheckpointEnd字段值对应的所述日志序列号CurrentLSN字段值作为下一次查询的基准参考值保存;若不为空值,将查询到的所有不为空值的所述CheckpointEnd字段值作为本次恢复数据的一致性时间点,本次获取事务日志当前序列号CurrentLSN字段和检查点的结束时间CheckpointEnd字段结束,等待进行下一查询周期。
2.根据权利要求1所述的基于SQLServer数据库的多时间点数据恢复方法,其特征在于,在所述步骤2之前分析所述CurrentLSN字段值是否发生变化,若未发生变化,则等待进行下一次的查询;若发生变化,则说明数据库事务日志发生了变化,则进入所述步骤S2。
3.根据权利要求1所述的基于SQLServer数据库的多时间点数据恢复方法,其特征在于,所述步骤S1中定时对数据库的事务日志函数进行查询的周期为1秒。
4.根据权利要求1-3任一项所述的基于SQLServer数据库的多时间点数据恢复方法,其特征在于,在所述步骤S1之前使用SQLServer数据库连接到需要恢复数据的SQLServer数据库,并保持数据库的连接。
5.根据权利要求4所述的基于SQLServer数据库的多时间点数据恢复方法,其特征在于,所述使用SQLServer数据库连接到需...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。