数据库数据恢复—Sql Server数据库文件丢失丢失怎么恢复数据?

数据库数据恢复环境:

5块硬盘组建一组RAID5阵列,划分LUN供windows系统服务器使用。windows系统服务器内运行了Sql Server数据库,存储空间在操作系统层面划分了三个逻辑分区。

数据库故障:

数据库文件丢失,主要涉及3个数据库,数千张表。数据库文件丢失原因未知,不能确定丢失的数据库文件的存放位置。数据库文件丢失后,服务器仍处于开机状态,所幸未写入大量数据。

数据库数据恢复过程:

1、镜像备份过程不在这里赘述,后续所有的数据分析和数据恢复操作都基于镜像文件进行。

2、基于镜像文件分析所有磁盘的底层数据,获取重组RAID所需信息。根据获取到的raid相关信息内部数据块信息重组RAID。

3、完成raid重组后,提取LUN的三个分区的镜像。扫描文件系统内丢失文件,但是没有找到丢失的数据库文件,从文件系统角度无法恢复丢失的数据库文件。

4、使用北亚企安自主开发的扫描程序扫描分区内数据页并进行提取。经过扫描发现一个分区中数据页数量极少且数据页断裂情况严重,另一分区内扫描到的数据页较多,初步判断此分区为丢失的数据库文件的存储空间。

扫描数据页:

5、Sql Server数据库使用系统表来管理所有用户表,在这些系统表内记录了各表的列数、数据类型及约束信息等。在解析系统表过程中发现提取出的数据页内系统表损坏,无法正常读取信息。在与用户方进行沟通后得知故障数据库有备份文件,且备份完成后表结构没有进行过大的改动,系统表可用。

6、还原备份。

7、分别提取三个库中各表的表结构信息。

8、解析表结构脚本,将各表的列信息存入数据库内便于后续使用。

扫描脚本文件:

表结构信息存入数据库:

9、解析系统表获取用户表id信息、关联表结构与数据页。

10、新建数据库,使用北亚企安自主开发的软件解析记录并导入到准备好的环境内。

11、在数据库文件所在的分区内除了数据库文件外还有若干备份文件,所以在导出记录后可能存在重复数据,需要去重。北亚企安数据恢复工程师编写小程序进行去重。

数据库去重:

12、数据处理完成后,由用户方工程师对恢复出来的数据进行检验,经过查验用户方表示数据可以接受,移交数据到用户方准备好的存储中。本次数据恢复工作完成。

相关推荐
北亚数据恢复5 天前
【RAID恢复】RAID不可用导致业务中断,Oracle+OA系统数据恢复案例
数据恢复·服务器数据恢复·北亚数据恢复·raid数据恢复·数据库恢复
CHS_Lab10 天前
大疆御4 Pro无人机批量删除恢复方法
数据恢复·视频恢复·格式化恢复·删除恢复·大疆无人机恢复·大疆御4pro
北亚数据恢复12 天前
【服务器数据恢复】服务器raid5磁盘阵列数据恢复案例
数据恢复·服务器数据恢复·北亚数据恢复·raid数据恢复
贾伟康13 天前
【天体运行模拟|12】HarmonyOS ArkTS 本地数据文件实战:让离线资源读取失败可见可恢复
数据恢复·harmonyos·arkts·preferences·arkdata
北亚数据恢复14 天前
【服务器数据恢复】RAID5阵列上层XFS文件系统数据恢复案例
数据恢复·服务器数据恢复·北亚数据恢复·raid数据恢复
CHS_Lab16 天前
松下(Panasonic)DC-S1M2删除恢复方法
数据恢复·视频恢复·mp4恢复·松下·松下摄像机
北亚数据恢复19 天前
【服务器数据恢复】常见RAID阵列故障原因与问题解析
数据恢复·服务器数据恢复·北亚数据恢复
深念Y19 天前
QQ 数据库解密与聊天记录导出 — 技术文档
数据库·sqlite·手机·数据恢复·逆向·二进制·qq
CHS_Lab20 天前
大疆Osmo Pocket3手持云台格式化恢复方法
数据恢复·视频恢复·大疆·dji·pocket3·格式化恢复·大疆pocket3
zengjuan100523 天前
SQL Server 恢复模式避坑指南:简单 / 完整 / 大容量日志选错,日志备份白做
数据恢复·sql server·备份策略·数据库备份·数据库运维·松鼠备份·数据库容灾