关于数据恢复:数据库数据恢复数据库文件丢失的Sql-Server数据库数据恢复

5次阅读

共计 942 个字符,预计需要花费 3 分钟才能阅读完成。

数据库数据恢复环境:
5 块硬盘组建 RAID5,划分 LUN 供 windows 服务器应用,共有三个逻辑分区;
在 windows 服务器内部署有 Sql Server 数据库。

数据库故障:
未知起因导致数据库文件失落,波及 5 个数据库,数千个表,不能确定数据存储地位。
数据库文件失落后服务器仍在运行,但未写入大量数据。

数据库数据恢复过程:
1、对故障设施中所有硬盘以只读形式进行残缺镜像备份,后续的数据分析和数据恢复操作都基于镜像文件进行,防止对原始数据造成二次毁坏。
2、基于镜像文件剖析 raid5,获取 raid 相干信息并利用信息及外部数据块信息重组 RAID。
重组 RAID:

3、提取 LUN 内的三个分区镜像。
4、扫描文件系统内失落的文件,未找到被删除的数据库文件,通过文件系统层面无奈复原数据库数据。
5、通过北亚企安数据恢复工程师团队的会诊,最终敲定通过扫描数据页并提取页内记录的数据恢复计划来复原数据库数据。
6、应用北亚企安自主编写的数据页扫描程序扫描分区内数据页并进行提取。在别离扫描两个分区镜像后发现零碎盘内数据页数量极少且数据页断裂情况严重;另一分区内扫描到数据页数量较多,暂定此分区为数据库文件存储空间。
扫描数据页:

7、Sql Server 数据库应用零碎表来治理所有用户表,在这些零碎表内记录了各表的列数、数据类型及束缚信息等。解析 Sql Server 零碎表过程中发现提取出的数据页内零碎表损坏,无奈失常读取信息。与用户方沟通后得悉有备份文件,且备份后没有进行过大的表构造改变,零碎表可用。
8、还原备份。
还原备份:

9、提取数据库中各表的表构造信息。
提取表构造信息:

10、解析表构造脚本。将各表的列信息存入数据库内。
扫描脚本文件:

表构造信息存入数据库:

11、解析零碎表获取用户表 id 信息、关联表构造与数据页。
12、新建数据库,应用北亚企安自主编写软件解析记录并导入到复原环境内。
13、整顿复原后果。在此分区内除了寄存数据库文件外还寄存一些备份文件,所以在导出记录后可能存在反复数据,北亚企安数据恢复工程师编写程序进行去重。
数据库去重:

14、去重后由用户方工程师进行对复原进去的数据库文件进行检测验证,通过认真查验后确认数据残缺可用。
15、由数据恢复工程师帮助用户方工程师将复原进去的数据迁徙到筹备好的环境中。

正文完
 0