[发明专利]一种SQL Server增量同步的实现方法在审
申请号: | 202110244334.3 | 申请日: | 2021-03-05 |
公开(公告)号: | CN112948420A | 公开(公告)日: | 2021-06-11 |
发明(设计)人: | 李德刚;方建勋;李朝铭 | 申请(专利权)人: | 浪潮云信息技术股份公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/27;G06F9/54 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 陈婷婷 |
地址: | 250100 山东省济南市高*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 sql server 增量 同步 实现 方法 | ||
1.一种SQL Server增量同步的实现方法,其特征在于,迭代查询fn_dblog,每次迭代获取一部分增量数据,逐步前移,基于日志序列号LSN过滤筛选出增量信息,进而得到全部增量数据;
结合CMSP传输增量数据,实现SQL Server数据库增量数据实时同步。
2.根据权利要求1所述的一种SQL Server增量同步的实现方法,其特征在于,fn_dblog函数包括参数StartingLSN和EndingLSN,对所述StartingLSN和EndingLSN赋上初值,进行迭代查询。
3.根据权利要求2所述的一种SQL Server增量同步的实现方法,其特征在于,对于参数StartingLSN的设定,首次迭代时,StartingLSN的设定包括:
人工设定;
通过select top 1[Current LSN]from fn_dblog(null,null)获取;
查询系统表msdb..backupset获取;
后续迭代过程中,以上一次迭代的最大LSN作为本次迭代的开始LSN。
4.根据权利要求3所述的一种SQL Server增量同步的实现方法,其特征在于,对于参数EndingLSN的设定,依据参数StartingLSN设置,
LSN由FSeqNo、SectorNo、SlotNo组成,则依据FSeqNo、SectorNo、SlotNo设置迭代的步长。
5.根据权利要求2或3或4所述的一种SQL Server增量同步的实现方法,其特征在于,迭代查询的退出条件为:
当该次迭代查询时,StartingLSN与本次查询获取的最大[Current LSN]一致时,便增大步长,当步长达到设定的阈值仍满足StartingLSN与最大的[Current LSN]一致条件时,查询退出。
6.根据权利要求5所述的一种SQL Server增量同步的实现方法,其特征在于,迭代查询增量时,查询语句为
select max([Current LSN])from fn_dblog(@StartingLSN,@EndingLSN)。
7.根据权利要求6所述的一种SQL Server增量同步的实现方法,其特征在于,跨越多个虚拟日志文件未找到更大的LSN,则认为已找到最大值。
8.根据权利要求1或2所述的一种SQL Server增量同步的实现方法,其特征在于,通过fn_dblog查询SQL Server事务日志的活动部分时,若日志已经备份,则通过调用fn_dump_dblog获取所述事务日志。
9.一种SQL Server增量同步的实现装置,其特征在于,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行权利要求1至8任一所述的方法。
10.计算机可读介质,其特征在于,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行权利要求1至8任一所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术股份公司,未经浪潮云信息技术股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110244334.3/1.html,转载请声明来源钻瓜专利网。