千家信息网

服务器故障导致SqlServer数据库损坏的恢复过程

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,故障描述:5块2T硬盘组建RAID5,划分LUN供windows服务器使用。在windows服务器内装有Sql Server2008数据库。存储空间内共有三个逻辑分区,大小分别为500G、800G、2
千家信息网最后更新 2025年01月20日服务器故障导致SqlServer数据库损坏的恢复过程

故障描述:

5块2T硬盘组建RAID5,划分LUN供windows服务器使用。在windows服务器内装有Sql Server2008数据库。存储空间内共有三个逻辑分区,大小分别为500G、800G、2.3T。数据库文件丢失,主要涉及五个数据库,表个数约为6000个左右。丢失原因未知,且不能确定数据存储位置。三个数据库的大小分别为8G、15G、20G。在文件丢失后服务器仍处于开机状态,但并未写入大量数据。
·

初检流程:

1、使用RAID信息及内部数据块信息重组RAID。

重组RAID
2、提取LUN内三个分区镜像。
3、扫描文件系统内丢失文件,未找到被删除数据库文件。
4、初检结果为数据库文件丢失,通过文件系统角度无法恢复。
·

恢复流程:

1、制定恢复方案。在数据库文件被删除且判定为无法恢复文件后,只能通过扫描数据页,并提取页内记录的方式进行恢复。
2、编数据页扫描程序扫描分区内数据页并提取。在分别扫描两个分区镜像后发现500G系统盘内数据页数量极少且数据页断裂情况严重,另一分区内扫描到数据页个数较多。暂定此分区为数据库文件存储空间。

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

还原备份
5、分别提取三个库中各表表结构信息

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

扫描脚本文件

表结构信息存入数据库
7、解析系统表获取用户表id信息、关联表结构与数据页。(为保护客户隐私,后续步骤涉及用户表表名及数据页内数据部分均未截图)
8、新建数据库,使用软件解析记录并导入到恢复环境内。
9、整理恢复结果。在此分区内除数据库文件外还存有备份文件若干,所以在导出记录后可能存在重复数据,必须去重。编写SQL存储过程进行去重。

数据库去重
10、客户验证数据。客户在查验过数据后表示数据可以接受,移交数据到客户存储设备,恢复成功。

数据 数据库 文件 系统 信息 结构 备份 客户 存储 三个 服务器 服务 用户 重组 过程 个数 为数 大小 库文件 流程 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 大学生数据库应用前景 数据库概念原书第六版 上推特的服务器地址 第六届网络安全日活动 我的世界服务器专门指令 我的世界怎么登录起床战争服务器 数据库 积运算 中华网络安全法首要目的 湖州政务软件开发定制 广州秀逗互联网科技是什么 gis数据库功能 EA软件开发工具 网络安全知识竞赛多少分合格 网络安全青年力量评论 我的世界开放式电脑服务器怎么用 奇安信 中标 指挥 网络安全 如图所示为公司员工数据库 刺客信条3服务器自动退出 web服务器运用 苏州云主机服务器哪个厂家质量好 后台管理员数据库设计实例 华为网络安全助手 网络安全红蓝紫对抗比赛 威海盈慧软件开发有限公司 南方电网网络安全管理制度 开发票的服务器编码怎么填 jsp连接mysql数据库 网络安全法和反恐怖主义 网络安全工程专业考研排名 数据库教务管理系统页面
0