故障描述:

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、客户验证数据。客户在查验过数据后表示数据可以接受,移交数据到客户存储设备,恢复成功。

某公司服务器故障导致数据库文件丢失的恢复过程相关推荐

  1. 移动硬盘文件丢失怎么恢复

    移动硬盘作为一种存储空间相对较大,使用更方便的轻便式移动存储设备,如今被广泛运用.而在使用过程中难免会遇到文件丢失问题,那么移动硬盘文件丢失怎么恢复?本文将介绍四种恢复移动硬盘文件的方法,一起去了解一 ...

  2. mysql zimbra_记一次zimbra服务器故障导致mysql起不来问题

    记一次zimbra服务器故障导致mysql起不来问题 记一次zimbra服务器故障导致mysql起不来问题 服务器有一天突然访问不了,局域网连接不上,去机房查看,硬盘灯亮着,屏黑的,按电源键没法关机, ...

  3. 如何在服务器中找到数据库文件夹,如何在服务器中找到数据库文件

    如何在服务器中找到数据库文件 内容精选 换一换 本手册基于华为云关系型数据库实践所编写,用于指导您完成相关设置,购买更符合业务的数据库实例. 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用 ...

  4. 打开服务器数据库文件,如何打开服务器中的数据库文件

    如何打开服务器中的数据库文件 内容精选 换一换 云服务器新增磁盘,开机自动执行磁盘初始化脚本后,Oralce.MySQL和SQL Server等数据库系统日志Msg 823错误 .磁盘初始化脚本Win ...

  5. 服务器怎么拷贝数据库文件,服务器怎么拷贝数据库文件

    服务器怎么拷贝数据库文件 内容精选 换一换 您可以下载备份文件,并通过备份文件进行本地存储备份或者恢复数据.备份文件不支持恢复到本地为Windows操作系统的数据库.由于开源备份工具目前仅支持x86包 ...

  6. 解决MySQL数据库意外崩溃导致数据库文件损坏或意外删除数据库文件导致无法启动问题

    MySQL版本:5.7 查看mysql启动日志: 2021-09-26T09:00:39.404326Z 1 [ERROR] [MY-012179] [InnoDB] Could not find a ...

  7. 服务器怎么打开数据库文件夹,服务器怎么打开数据库文件夹下

    服务器怎么打开数据库文件夹下 内容精选 换一换 GaussDB(for MySQL)全兼容MySQL协议,因此,连接GaussDB(for MySQL)实例目前有两种方式:普通连接和SSL连接.其中, ...

  8. 数据库服务器文件路径,如何在服务器中找到数据库文件路径

    如何在服务器中找到数据库文件路径 内容精选 换一换 ModelArts Web训练需要在昇腾AI处理器上调试基本没问题后,在ModelArts Web页面上部署便可直接训练.但如果前期训练代码没有调试 ...

  9. 服务器怎么查看数据库文件,怎么查看服务器上的数据库文件

    怎么查看服务器上的数据库文件 内容精选 换一换 创建sink流将Flink作业数据通过OBS转储方式输出到数据仓库服务(DWS),即Flink作业数据先输出到OBS,然后再从OBS导入到DWS.如何导 ...

最新文章

  1. 【 全干货 】5 分钟带你看懂 Docker !
  2. [luoguP2618] 数字工程(DP)
  3. python画三维几何图-Python常见几何图形绘制
  4. 在数组中查找第k个最大元素_查找数组中每个元素的最近最大邻居
  5. excel 图片转url_最全总结 | 聊聊 Python 办公自动化之 Excel(下)
  6. IOProcess基础知识
  7. linux syslog 3
  8. AB=C型向量分解思路思考
  9. Python的操作符?
  10. 年会抽奖系统3d效果html,HTML抽奖系统 开源版,希望我们共同学习!
  11. python pandas安装不了_python安装pandas问题!python pandas安装教程
  12. 保存书店每日交易记录程序设计
  13. android+微信字体大小,关于微信安卓端网页字体适配的通知
  14. Movavi Video Suite 使用教程|如何刻录DVD ?使用Movavi Video Suite!
  15. idm由于法律原因无法下载怎么办?
  16. excel公式编辑器_Excel如何用函数公式制作随机抽奖小程序
  17. ASP.NET Core Razor 布局视图 - ASP.NET Core 基础教程 - 简单教程,简单编程
  18. 【python】将字符串转换为十进制ASCII码
  19. Java集合框架详解
  20. 今日头条自媒体怎么提高推荐量

热门文章

  1. 计算机提升反思的相关文档,反思教学论文,关于教学反思在提升高校计算机专业青年教师教学水平中的应用相关参考文献资料-免费论文范文...
  2. vue ie报错:SCRIPT5022: [vuex] vuex requires a Promise polyfill in this browser.
  3. 【目录】全志F1C100S/F1C200S学习笔记
  4. 【翻译】用 安全即代码 保护你的GitOps流程
  5. 小程序毕设作品之微信积分商城小程序毕业设计成品(4)开题报告
  6. android 音量调节框,Android 音量调节方法
  7. Android6.0 源码修改之Settings音量调节界面增加通话音量调节
  8. “我,35岁研发经理,月薪5W+,每年涨薪6-8K,特别焦虑” 评论区网友吵翻了
  9. javaWeb 中Tomcat 10 jsp文件内置对象不能正常使用的问题(已解决)
  10. 有一天,如果你和计算机一样思考问题,真是太太太太有趣了