乐趣区

关于数据恢复:数据库数据恢复windows系统服务器Sql-Server数据库恢复案例

数据库数据恢复环境:
5 块磁盘组建 RAID5,划分 LUN 供 windows 服务器应用;
windows 服务器上部署 Sql Server 数据库;操作系统层面划分了三个逻辑分区。

数据库故障 & 初检:
未知起因导致 Sql Server 数据库文件失落,波及到数个数据库和数千张表,不能确定数据存储地位。数据库文件失落后服务器依然在开机运行,所幸没有大量写入数据。
1、将故障服务器内所有硬盘以只读形式进行全盘镜像备份,后续数据分析和数据恢复操作都基于镜像文件进行,防止在复原数据的过程中对原始数据造成二次毁坏。
2、基于镜像文件剖析 raid5 底层数据,通过剖析获取到的 raid 相干信息及外部数据块信息重组 RAID。
重组 RAID:

3、实现 RAID 重组后提取 LUN 内的三个逻辑分区的镜像。
4、扫描文件系统内失落文件,未找到被删除的数据库文件。
5、初检后果为数据库文件失落,在文件系统层面无奈复原数据库数据。

数据库数据恢复流程:
1、通过初检后发现数据库文件被删除且无奈在文件系统层面进行复原后,北亚企安数据恢复工程师决定通过扫描数据页,提取页内记录的形式来复原失落的数据库数据。
2、应用北亚企安自主开发的数据页扫描程序扫描分区内数据页并进行提取。扫描两个分区镜像后发现系统盘分区镜像内的数据页数量极少且数据页断裂情况严重,另一分区内扫描到的数据页数量较多,暂定此分区为数据库文件的存储空间。
扫描数据页:

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

5、别离提取须要复原数据的三个库中各表的表构造信息。
提取表构造信息:

6、解析表构造脚本,将各表的列信息存入数据库内便于在后续的数据恢复过程中应用。
扫描脚本文件:

将表构造信息存入数据库:

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

10、解决完所有数据后交由用户方验证数据。用户方工程师通过重复查验后确认复原数据残缺无效。将复原进去的数据迁徙到用户方筹备好的存储设备中。

退出移动版