数据库数据恢复—SQL Server数据库由于存放空间不足报错的数据恢复案例

SQL Server数据库数据恢复环境:
某品牌服务器存储中有两组raid5磁盘阵列。操作系统层面跑着SQL Server数据库,SQL Server数据库存放在D盘分区中。

SQL Server数据库故障:
存放SQL Server数据库的D盘分区容量不足,管理员在E盘中生成了一个.ndf的文件并且将数据库路径指向E盘继续使用。数据库继续运行一段时间后出现故障并报错,连接失效,SqlServer数据库无法附加查询。管理员多次尝试恢复数据库数据但是没有成功。

SQL Server数据库数据恢复过程:
1、将存储中所有磁盘编号后取出,经过硬件工程师的初步检测,没有发现有硬盘存在硬件故障,都可以正常识别。以只读方式将所有磁盘进行扇区级全盘镜像,镜像完成后将所有磁盘按照编号还原到原存储中,后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。
2、经过和管理员沟通以及初步检测,数据恢复工程师初步判断数据库报错的原因是D盘空间不足导致逻辑错误。
3、基于镜像文件对存储上的两组raid5磁盘阵列进行分析并重组,查看2组raid5阵列中的数据,将数据库文件备份出来并尝试附加数据库。数据库报错:“主数据库文件和次级数据库文件不匹配”。
4、查看.ndf文件的底层数据,发现该文件几乎没有任何数据。工程师将.mdf文件和.ndf文件之间的关联关系取消,单独使用.mdf文件附加数据库,依然报错:“日志文件(.ldf)和数据库文件(.mdf)不匹配”。


5、尝试无数据库附加操作,数据库可以附加但系统表有损坏,数据库依然无法正常使用。
6、尝试修复数据库系统表但是没有成功,数据表损坏严重,修复难度极大且效果难以保障。
7、数据恢复工程师将突破口放在数据库记录上,北亚企安数据恢复工程师编写一个小程序将数据库记录提取出来。根据数据库备份获取到该数据库的表结构并重构数据库表结构。然后将提取出来的数据库记录导入到新表。
8、经过数据恢复工程师和用户方的检测,数据库可以正常使用,查询的数据也没有发现问题。用户方认可数据恢复结果。

Tips:
合理分配数据库文件所在磁盘空间,及时清理垃圾数据,保证数据库的正常、安全运行。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-11 12:26:02       102 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-11 12:26:02       109 阅读
  3. 在Django里面运行非项目文件

    2024-07-11 12:26:02       91 阅读
  4. Python语言-面向对象

    2024-07-11 12:26:02       98 阅读

热门阅读

  1. vue3 ts 不使用 if switch 来决定使用什么函数

    2024-07-11 12:26:02       22 阅读
  2. 拖动未来:WebKit 完美融合拖放API的交互艺术

    2024-07-11 12:26:02       29 阅读
  3. helm安装解决无授权问题

    2024-07-11 12:26:02       27 阅读
  4. php获取,昨,今,后天.... 本周,月,年...日期时间戳

    2024-07-11 12:26:02       29 阅读
  5. 大话C语言:第28篇 内存分配与释放

    2024-07-11 12:26:02       22 阅读
  6. MySQL 中删除重复的数据并只保留一条

    2024-07-11 12:26:02       26 阅读
  7. spring boot 3.2.x 使用CDS加速启动

    2024-07-11 12:26:02       31 阅读
  8. 37.深度学习中的梯度下降法及其实现

    2024-07-11 12:26:02       28 阅读
  9. Spring Boot与Spring MVC的区别和联系

    2024-07-11 12:26:02       33 阅读
  10. 代码随想录-DAY⑥-哈希表——leetcode 383 | 454

    2024-07-11 12:26:02       27 阅读
  11. linux去掉行首的#字符

    2024-07-11 12:26:02       25 阅读
  12. 常见的负载均衡算法和实现方式

    2024-07-11 12:26:02       28 阅读
  13. Android焦点之Focused Window的更新(二)

    2024-07-11 12:26:02       24 阅读
  14. SpringBoot源码阅读(9)——转换服务

    2024-07-11 12:26:02       22 阅读
  15. C#中的Dictionary

    2024-07-11 12:26:02       26 阅读
  16. C语言标准库中的函数

    2024-07-11 12:26:02       31 阅读