<p> <strong>数据库数据恢复环境&故障:</strong><br /> 一个运行在存储上的SQLServer数据库,有1000多个文件,大小几十TB。数据库每10天生成一个NDF文件,每个NDF几百GB大小。数据库包含两个LDF文件。<br /> 存储损坏,数据库不可用。管理员试图恢复数据库,发现有数个ndf文件大小变为0KB。<br /> 虽然NDF文件大小变为0KB,但是NDF文件在磁盘上还可能存在。可以尝试通过扫描&拼接数据库碎片来恢复NDF文件,然后修复数据库。</p>
讯享网
讯享网<strong>数据库数据恢复过程:</strong><br /> 1、将存储上所有磁盘标记后取出,经过<u>硬件</u><u>工程师</u><u>检测</u>没有发现有硬盘存在硬件故障,都可以正常读取。以只读方式将所有磁盘进行扇区级全盘镜像。镜像完成后将所有磁盘按照原样还原到原存储中。后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始数据造成二次破坏。<br /> 2、北亚企安数据恢复工程师编写数据库碎片扫描程序扫描数据库碎片。根据NDF文件的页面特征,按照文件号和页号拼接碎片,重组生成那些大小变为0kb的NDF文件。<br /> 3、使用SQLServer文件检测工具检测所有数据文件,结果发现拼接出的数个NDF文件有少量的空页,其他文件正常。<br /> 4、进一步分析发现数据页在存储层面已经不存在了,这些数据页无法恢复,即这几个NDF文件无法完整恢复。<br /> 5、尝试附加数据库,报错 “处理数据库的日志时出错,如果可能请从备份还原。如果没有可用的备份,可能需要重新生成日志。”<br /> 6、修改系统表,从系统表剔除掉最后添加的LDF文件,计算并修改校验。尝试进行无日志附加数据库,报错:“数据库存在一致性错误。”</p>
<img src="https://file1.elecfans.com/web1/M00/F4/07/wKgaoWcjE32AbQdWAAJD_hojvJc119.png" alt="wKgaoWcjE32AbQdWAAJD_hojvJc119.png" />北亚企安数据恢复—SQLServer数据库数据恢复</p>
讯享网<br /><br /> 7、修改系统表中记录这几个损坏的NDF文件的块数量的值,改为和拼接出来的NDF文件块的数量一致,更改这4个NDF文件首页,计算并修改校验值。<br /> 8、无日志附加数据库,仍然报错“数据库存在一致性错误。”<br /> 9、由于空页都出现在这几个NDF文件后面的十几个块中,截断文件对数据完整性影响不大。重新修改系统表和NDF文件,将数据库中记录NDF文件的块数量的值改为等于报错的块前一页,计算并修改校验。<br /> 10、重新进行无日志附加数据库,报错“由于数据库没有完全关闭,无法重新生成日志。”</p>

<img src="https://file.elecfans.com/web2/M00/6D/2F/poYBAGM1Ey2AboEdAAE1URGGv-c292.png" alt="poYBAGM1Ey2AboEdAAE1URGGv-c292.png" />北亚企安数据恢复—SQLServer数据库数据恢复</p>
讯享网<br /><br /> 11、修改MDF文件中的数据库的状态值,让数据库认为是完全关闭的。<br /> 12、重新附加数据库,附加成功。</p>
<img src="https://file1.elecfans.com/web1/M00/F4/07/wKgZoWcjE5mAPCmpAAG8-MZl5WM510.png" alt="wKgZoWcjE5mAPCmpAAG8-MZl5WM510.png" />北亚企安数据恢复—SQLServer数据库数据恢复</p>
讯享网<br /> </p>
<strong>数据库数据恢复结果:</strong><br /> 数据库文件成功附加后,由用户方通过数据库中的对象进行查询&验证,经过查询验证,确定表中<u>信息</u>基本完整,数据恢复完整。用户方认可数据恢复结果。<br /><br /> 审核编辑 黄宇</p>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/165662.html