共计 892 个字符,预计需要花费 3 分钟才能阅读完成。
数据库数据恢复环境:
某品牌存储寄存大小约 80TB 的 SQL SERVER 数据库,数据库蕴含两个 LDF 文件,每 10 天生成一个 500GB 大小的 NDF 文件。
数据库故障 & 剖析:
存储损坏,SQL SERVER 数据库不可用。对数据库文件进行复原后发现有几个 NDF 文件大小变为 0KB。
数据库数据恢复过程:
1、对故障存储所有硬盘做镜像备份,基于镜像文件扫描数据库碎片。
2、北亚数据恢复工程师依据 NDF 文件的页面特色,依照文件号、页号拼接碎片,重组生成这些 0kb 的 NDF 文件。
3、检测数据库文件。应用北亚自主研发的 MSSQL 文件检测工具对所有数据文件进行检测,后果发现除了拼接出的 NDF 文件有大量的空页之外,其余的文件都是失常的。
4、数据恢复工程师剖析损坏 lun 后发现这些数据页在存储层面曾经不存在了。如果不能复原这些数据页,这几个拼接进去的 NDF 文件就不能完全恢复。
5、尝试附加数据库,报错“解决数据库的日志时出错,如果可能请从备份还原。如果没有可用的备份,可能须要从新生成日志”。
6、批改零碎表,从零碎表剔除掉最初增加的 LDF 文件,计算并批改校验。进行无日志附加数据库。报错:“数据库存在一致性谬误。”
7、批改零碎表,将零碎表记录这几个 NDF 文件的块数量的值改为和扫描拼接进去的 NDF 文件的块数量统一,同时更改这几个 NDF 文件首页,使得数据库中记录的文件的块数量和拼接进去的 NDF 的块数量统一,计算并批改校验值。
8、无日志附加数据库,报错数据库存在一致性谬误。
9、一一批改零碎表中这几个损坏的 NDF 文件的块数量,使其值等于报错块前一页。剖析报错,因为空页都呈现在这几个 NDF 文件前面的十几个块中,截断文件对数据完整性影响不大。从新批改零碎表和 NDF 文件,将数据库中记录 NDF 块数量的值改至报错的前一页,计算并批改校验。
10、从新进行无日志附加数据库,报错“因为数据库没有齐全敞开,无奈从新生成日志”。
11、批改 NDF 文件中的数据库的状态值,让数据库认为是齐全敞开的。从新附加数据库胜利。
数据库复原数据验证:
数据库文件胜利附加后,用户通过数据库中的对象进行查问、验证,表中信息残缺,确认复原进去的数据无效。