【北亚数据恢复】由于数据库所在磁盘容量不足导致错误的sql server数据库数据恢复

环境:
某品牌r520存储服务器
两组raid5磁盘阵列
Sql Server数据库

故障:
由于Sql Server数据库数据量大导致存放的D盘容量不足,服务器管理员在E盘中生成了一个.ndf的文件并将数据库路径指向E盘继续使用。2个星期后数据库突然故障报错,连接失效,Sql Server数据库无法附加查询。服务器管理员进行尝试性数据恢复操作(管理员在原环境下进行多次尝试性恢复,导致原始数据库文件
被重复的更改、覆盖,磁盘空间复写)让后来的数据恢复难度加大。

故障分析:
经北亚数据恢复工程师初步推断,数据库报错的原因可能是由于D盘的存储空间不足导致的逻辑错误。
北亚数据恢复工程师对存储服务器上的两组raid5磁盘阵列进行分析重组,查看其中的数据,并将raid总的数据库文件备份出来进行尝试性附加数据库,但数据库报错。报错内容为“主数据库文件和次级数据库文件不匹配”。

Sql Server数据库数据恢复过程:
1、北亚数据恢复工程师将所有磁盘都镜像成文件后对数据库进行检测和分析。
2、北亚数据恢复工程师查看.ndf文件底层,但是在该文件中发现的数据量微乎其微,几乎没有任何数据,北亚数据恢复工程师将.mdf文件和.ndf文件之间的关联关系取消,单独使用.mdf文件进行附加数据库依然报错,报错内容为“日志文件(.ldf)和数据库文件(.mdf)不匹配”。北亚数据恢复工程师继续进行数据库附加操作,数据库可以附加但系统表有损坏,数据库依然无法正常使用。
3、北亚数据恢复工程师尝试修复数据库系统表但是没有成功,数据表损坏严重,修复难度极大且效果难以保障,北亚数据恢复工程师决定放弃修复数据表转而尝试其他方法。
4、北亚数据恢复工程师将数据恢复的突破口放在数据库记录上,通过自己编写的一个小程序将数据库记录提取出来,再根据客户以前的数据库备份数据获取到该数据库的表结构,重构数据库表结构,然后将数据库记录导入新表,数据恢复成功。

数据库使用小提示:
在数据库使用过程中,要合理分配数据库文件所在磁盘空间,及时清理垃圾数据,保证数据库的正常、安全运行。

原文地址:https://www.cnblogs.com/frombyte/p/15801878.html