故障服务器环境描述:
一台故障服务器,因在正常运行中,意外断电,重启后发现SQL server数据库的数据无法被读取。
故障服务器分析检测:
故障服务器进入系统发现是人为删除的,SQL server数据库文件无法被读取,系统表被损坏,由于底层File Record被截断为0,无法找到文件开头,数据表结构也被损坏。
故障服务器数据恢复流程:
1.对丢失数据的硬盘做全盘备份,以确保数据的安全性。
2.分析备份文件中旧数据的数据库,从旧数据库中寻找数据表的结构。
3.从日志中提取一部分数据表的结构,从日志中和残留数据中提取完好的数据。
4.检测硬盘,对每块硬盘做全盘镜像,将硬盘中所有扇区镜像到一块备份硬盘中。
5.扫描镜像文件,用winhex打开残留文件,仔细分析硬盘底层数据,发现硬盘底层中还残留着许多以前SQL server的日志和备份文件。
6.对扫描到的所有日志文件进行分析,发现结构相同,可以确定这是完好的数据,可以提取。
7.编写程序从备份文件中提取建表语句,根据建表语句分析出表结构与各种数据类型,根据object ID(frombyte)来对数据和表进行对应,并插入到新表中。
8.验证所有数据,数据恢复成功。