[发明专利]一种SQL Server数据库恢复方法、终端设备及存储介质有效
申请号: | 202011601800.0 | 申请日: | 2020-12-29 |
公开(公告)号: | CN112612648B | 公开(公告)日: | 2022-11-08 |
发明(设计)人: | 梁德荣;沈长达;黄志炜;杜新胜 | 申请(专利权)人: | 厦门市美亚柏科信息股份有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14;G06F16/18;G06F16/21;G06F16/23;G06F16/28 |
代理公司: | 厦门市精诚新创知识产权代理有限公司 35218 | 代理人: | 何家富 |
地址: | 361000 福建省厦门市*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 sql server 数据库 恢复 方法 终端设备 存储 介质 | ||
1.一种SQL Server数据库恢复方法,其特征在于,包括以下步骤:
S1:针对ldf日志文件中包含的所有虚拟日志文件构建虚拟日志文件列表;
S2:遍历虚拟日志文件列表,将每个虚拟日志文件包含的所有日志块均添加至日志块列表内;
S3:根据日志块列表内每个日志块对应的日志类型构建操作日志列表;操作日志列表的构建过程包括针对每个日志块对应的操作日志进行如下步骤的操作:
S31:查找日志块对应的操作日志的日志类型,当日志类型为插入记录、删除记录或更新记录时,进入S32;当日志类型为开始事务或结束事务时,则获取操作日志的事务开始时间或结束时间,进入S34;
S32:从文件Log_Offset中获取操作日志的所在表对象的索引IDIndex_id和所在表对象IDObject_id;
S33:从文件Log_Offset中获取数据块1和数据块2的长度DataLength1和DataLength2后,根据数据块1和数据块2的长度获取数据块1和数据块2的值Data1和Data2;
如果日志类型为插入记录,则将操作日志的Redo_length参数赋值为DataLength1,将Redo_data参数赋值为Data1;如果日志类型为删除记录,则将日志的Undo_length参数赋值为DataLength1,Redo_data参数赋值为Data1;如果日志类型为更新记录,则将日志的Redo_length参数赋值为DataLength1,Redo_data参数赋值为Data1,日志的Undo_length参数赋值为DataLength2,Undo_data参数赋值为Data2;
S34:将操作日志加入操作日志列表内;
S4:遍历操作日志列表,针对操作日志列表中的每个操作日志进行还原操作;针对每个操作日志进行的还原过程包括以下步骤:
S41:获取ldf文件对应的数据库mdf文件,并解析mdf文件获取数据库的系统表信息,其中系统表包括sysschobjs和syscolpars,sysschobjs表中包含该数据库文件中的所有表名及表类型,syscolpars表中包含了每张表的表结构信息;
S42:获取操作日志的Index_id和Object_id;
S43:通过Object_id查找系统表sysschobjs以获取操作日志所属的表名;
S44:通过Object_id查找系统表syscolpars以获取操作日志所属表的表结构信息;
S45:通过表结构信息,解析操作日志对应的Redo_data参数和Undo_data参数中的内容并恢复。
2.根据权利要求1所述的SQL Server数据库恢复方法,其特征在于:虚拟日志文件列表的构建方法包括以下步骤:
S11:打开ldf日志文件,获取ldf日志文件大小FileSize和虚拟日志文件起始地址Offset1,初始设定虚拟日志文件序号i=0;
S12:设定第i个虚拟日志文件Vi的偏移地址VLF_Offset为Offset1;
S13:分别从ldf日志文件的Offset1处偏移4、8、12和24个字节处获取虚拟日志文件的序列号VLF_FseqNo、状态VLF_Status、大小VLF_Size和偏移地址Offset2;
S14:判断Offset2是否等于Offset1,如果是,将第i个虚拟日志文件Vi添加至虚拟日志文件列表,进入S15;否则,结束;
S15:令i=i+1,Offset1=Offset1+VLF_Size,判断Offset1≥FileSize是否成立,如果是,结束;否则,返回S12。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门市美亚柏科信息股份有限公司,未经厦门市美亚柏科信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011601800.0/1.html,转载请声明来源钻瓜专利网。