服务器存储故障:
一台服务器存储中有一组由5块2TB硬盘组建RAID5阵列,划分LUN挂载至Windows服务器,服务器搭载SQL Server 2008数据库。阵列存储空间划分3个逻辑分区,容量依次为500GB、800GB、2.3TB。
服务器存储内共计5套业务数据库发生文件丢失,涉及数据表总量约6000张;其中3个核心数据库容量分别为8GB、15GB、20GB。数据丢失诱因不明,且无法定位原始数据库文件存放分区。文件丢失后服务器持续开机运行,但期间无大批量数据写入操作,数据覆盖风险较低。
服务器存储故障初步检测:
采集阵列底层RAID参数与磁盘数据块特征,完成RAID阵列虚拟重组。
从重组后的阵列LUN中,北亚数据恢复工程师完整提取3个逻辑分区镜像文件。
针对分区镜像开展文件系统级全盘扫描,检索删除记录,未匹配到丢失的数据库原始文件;
初检结论:数据库文件已彻底丢失,依托文件系统恢复手段无法找回数据,需采用底层数据页提取方案开展深度恢复。
服务器存储数据恢复实施流程:
1、定制专项恢复方案
原始数据库文件丢失、文件系统恢复失效,确定采用底层扫描SQL数据页、解析提取页面业务记录的恢复思路。
2、分区镜像底层数据页扫描定位存储分区
采用北亚数据恢复中心自研数据页扫描工具,分别对三份分区镜像执行全盘数据页检索
扫描结果显示:500GB系统分区有效数据页存量稀少,且页面碎片、断裂问题严重;另一分区检出海量完整SQL数据页,判定该分区为数据库原始存储分区。
3、系统表解析遇阻,调取客户备份辅助恢复
SQL Server依靠系统表统一管理用户表信息,存储字段数量、数据类型、约束规则等核心结构。北亚数据恢复工程师解析提取的数据页时发现系统表损坏,无法读取表结构元数据。经对接客户确认,客户留存有效数据库备份,且备份生成后未对数据表结构进行大规模调整,
备份文件内系统表信息完整可用。
4、恢复备份,提取完整表结构
导入客户备份文件完成还原
分别导出3套核心数据库全部数据表的建表结构
5、解析存储表结构元数据
批量解析数据表结构脚本,将字段名称、类型、长度、约束等信息统一入库存储,为后续数据页匹配提供参照
6、关联系统表ID与分区原始数据页
解析备份系统表获取各用户表唯一标识ID,建立表结构与底层扫描数据页的关联映射;出于客户数据隐私保护,数据表名称、原始业务数据相关步骤无配套截图。
7、新建恢复库,批量导入解析记录
搭建独立恢复环境,新建空白数据库,通过北亚数据恢复中心自研解析工具读取分区内提取的数据页原始记录,批量写入恢复数据库。
8、数据清洗去重处理
目标分区除业务数据库外,还存放多份历史备份文件,导入后存在大量重复业务数据。北亚数据恢复工程师编写专用SQL存储过程对全量数据执行去重清洗。
剔除冗余重复记录。
9、客户校验与交付
全部数据整理完成后交由客户核验,客户确认恢复数据完整可用;将恢复后的数据库迁移至客户自有存储设备,本次数据恢复工作完成。