数据库数据恢复—空间不足导致sqlserver数据库故障的数据恢复

yumo6663个月前 (03-27)技术文章23

数据库数据恢复环境:

某品牌r520服务器,服务器中有7块SAS硬盘,这7块硬盘组建了一组2盘raid1阵列和一组5盘raid5阵列,raid1阵列存储空间安装操作系统,raid5阵列存储空间存放数据。服务器上部署sql server数据库,数据库存放在C盘。

数据库故障:

工作人员发现服务器的C盘容量即将耗尽,于是将sql server数据库路径指向D盘,在D盘生成了一个.ndf文件。一个多星期后,sql server数据库出现故障,连接失效,无法正常附加查询。

数据库数据恢复过程:

1、将服务器中所有磁盘编号后取出,硬件工程师对所有磁盘进行检测后没有发现有硬盘存在硬件故障。以只读方式将所有磁盘进行扇区级的全盘镜像,镜像完成后将所有磁盘按照编号还原到原服务器中。

2、基于镜像文件分析RAID结构。根据分析获取到的raid信息重组RAID1和RAID5。

3、在数据库发生故障之后多次在原始环境下尝试恢复数据库,导致原始数据库文件被更改覆盖,磁盘空间被多次复写,无法使用多次尝试恢复后的数据库文件进行修复。和用户方沟通后得知数据库发生故障的时候(尝试恢复数据库之前),工作人员备份过一份的原始数据库文件。

4、从重组的RAID5阵列的存储空间中将备份的数据库文件拷贝出来,尝试在数据库中附加,但是附加失败,出现错误提示。错误提示主数据库文件和次级数据库文件不匹配。

错误提示:



5、查看.ndf文件底层,发现.ndf文件中几乎没有数据。尝试取消.mdf文件和.ndf文件之间的关联,只用.mdf文件进行附加。只用.mdf文件附加也发生错误,但是错误提示发生改变。错误提示日志文件(.ldf)和数据库文件(.mdf)不匹配。

只用.mdf文件进行附加的错误提示:



6、尝试将数据库进行无数据库附加,附加成功。但是发现数据库系统表损坏,无法正常使用。

将数据库进行无数据库附加的错误提示:



7、尝试修复数据库的系统表,由于系统表损坏过于严重,无法修复。

8、解析数据库文件中的数据库记录。北亚企安数据恢复工程师编写相应的程序提取数据库文件中的数据库记录。根据数据库备份获取数据库中的表结构,重构表结构并将提取出的数据库记录导入到新的表中。

9、由用户方对提取出的数据库记录进行验证,经过仔细验证确,用户方确认所有数据完整恢复,认可数据恢复结果。本次数据恢复工作完成。

相关文章

数据库数据恢复——MySQL数据库Delete命令删除数据的数据恢复

MySQL数据库是一种关系型数据库。MySQL数据库相比较其他数据库有以下特点:体积小、速度快、性价比高。MySQL数据库的源码开放,且支持绝大多数操作系统,便于搭建和维护,所以MySQL数据库被广泛...

一种 SQL Server 数据库恢复方案:解密、恢复并导出 MDF/NDF/BAK文件

天津鸿萌科贸发展有限公司从事数据安全服务二十余年,致力于为各领域客户提供专业的数据恢复、数据备份、数据取证、数据迁移解决方案,并针对企业面临的数据安全风险,提供专业的相关数据安全培训。天津鸿萌科贸发展...

删库之后不要着急跑路,教你神不知鬼不觉找回数据

在工作中,我们误删数据或者数据库,我们一定需要跑路吗?我看未必,程序员一定要学会自救,神不知鬼不觉的将数据找回。在 mysql 数据库中,我们知道 binlog 日志记录了我们对数据库的所有操作,所以...

数据库数据恢复—SQL Server数据库报错“错误823”的数据恢复案例

SQL Server数据库故障:SQL Server附加数据库出现错误823,附加数据库失败。数据库没有备份,无法通过备份恢复数据库。SQL Server数据库出现823错误的可能原因有:数据库物理页...

电脑硬盘数据库恢复的方法

在现代社会,电脑已经成为人们生活中不可或缺的一部分。然而,由于各种原因,我们的电脑硬盘中的数据库可能会丢失或损坏,这对我们的工作和生活都会带来很大的影响。那么,数据库丢失文件怎么恢复?下面,我们将为大...

「数据库数据恢复」SQL SERVER数据库MDF (NDF)或LDF损坏的数据恢复

SQL SERVER数据库故障类型:MDF(NDF)或LDF损坏。SQL SERVER故障原因:1、数据库正在操作过程中,机器突然断电;2、人为误操作。SQL SERVER故障表现:1、数据库在管理器...