Chinaunix首页 | 论坛 | 博客
  • 博客访问: 337267
  • 博文数量: 587
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 5905
  • 用 户 组: 普通用户
  • 注册时间: 2016-08-02 14:16
文章分类

全部博文(587)

文章存档

2024年(152)

2023年(218)

2022年(181)

2020年(12)

2019年(24)

我的朋友

分类: SQLServer

2023-05-12 15:40:13

数据库数据恢复环境:
一台Dell PowerEdge某型号存储,数块SAS硬盘分别组建raid1和raid5两组磁盘阵列。其中2块磁盘组建的RAID1,用于安装操作系统;其余几块磁盘组建raid5,用于存放数据。
上层安装的windows服务器,部署有sql server数据库,sql server数据库存放在C盘分区。


数据库故障&分析:
管理员发现存放sql server数据库的C盘剩余空间不足,于是将数据库路径指向D盘,在D盘生成了一个.ndf文件。
大约半个月之后,数据库出现故障,无法连接和附加查询。
由于数据库文件所在磁盘的容量不足,数据库无法正常运行,出现逻辑错误。


数据库数据恢复过程:
1、将存储设备中所有磁盘以只读方式进行全盘镜像备份,后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始数据造成二次破坏。
2、基于镜像文件分析存储中RAID1和RAID5的结构,获取RAID相关信息,利用这些信息虚拟重组RAID1和RAID5。
3、由于管理员在发现数据库出现故障之后进行过多次数据库恢复操作。每次恢复操作都是在原环境下进行的,导致原始的数据库文件被更改覆盖,磁盘空间被多次复写,所以无法使用尝试恢复之后的数据库文件进行修复。所幸的是,经过沟通得知在数据库发生故障的时候,对原始数据库文件进行过备份。
4、从虚拟重组出来的RAID5的空间中将管理员备份的数据库文件拷贝出来,尝试在数据库中附加,附加失败,错误提示如下:





错误提示主数据库文件和次级数据库文件不匹配。
5、查看.ndf文件底层,发现该文件中几乎没有数据。尝试取消.mdf文件和.ndf文件之间的关联并只用.mdf文件进行附加,依然报错但错误提示发生变化。错误提示如下:





错误提示日志文件(.ldf)和数据库文件(.mdf)不匹配。
6、尝试对数据库进行无数据库附加,附加成功。但是发现数据库系统表损坏,无法正常使用。





7、尝试修复数据库的系统表,但系统表损坏过于严重,无法修复。
8、北亚企安数据恢复工程师编写程序解析&提取数据库文件中的数据库记录。
9、根据数据库备份获取数据库的表结构,重构表结构并将提取出的数据库记录导入到新的表中。


数据验证:
由用户方对提取出的数据库记录进行验证,经过反复验证,确认数据完整有效,本次数据恢复工作完成。


Tips:
部署数据库时要合理分配数据库文件所在磁盘的空间,及时清理垃圾数据,保证数据库的正常、安全运行。
阅读(255) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~