2025年sqlldr导入数据错位(sqlldr导入数据文件的命令)

sqlldr导入数据错位(sqlldr导入数据文件的命令)数据库数据恢复环境 amp 故障 一个运行在存储上的 SQLServer 数据库 有 1000 多个文件 大小几十 TB 数据库每 10 天生成一个 NDF 文件 每个 NDF 几百 GB 大小 数据库包含两个 LDF 文件 存储损坏 数据库不可用 管理员试图恢复数据库 发现有数个 ndf 文件大小变为 0KB 虽然 NDF 文件大小变为 0KB 但是 NDF 文件在磁盘上还可能存在 可以尝试通过扫描 amp 拼接数据库碎片来恢复 NDF 文件 然后修复数据库 数据库数据恢复过程 1 将存储上所有磁盘标记后取出 经过 硬件 工程师 检测



数据库数据恢复环境&故障:
一个运行在存储上的SQLServer数据库,有1000多个文件,大小几十TB。数据库每10天生成一个NDF文件,每个NDF几百GB大小。数据库包含两个LDF文件。
存储损坏,数据库不可用。管理员试图恢复数据库,发现有数个ndf文件大小变为0KB。
虽然NDF文件大小变为0KB,但是NDF文件在磁盘上还可能存在。可以尝试通过扫描&拼接数据库碎片来恢复NDF文件,然后修复数据库。

数据库数据恢复过程:
1、将存储上所有磁盘标记后取出,经过硬件工程师检测没有发现有硬盘存在硬件故障,都可以正常读取。以只读方式将所有磁盘进行扇区级全盘镜像。镜像完成后将所有磁盘按照原样还原到原存储中。后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始数据造成二次破坏。
2、北亚企安数据恢复工程师编写数据库碎片扫描程序扫描数据库碎片。根据NDF文件的页面特征,按照文件号和页号拼接碎片,重组生成那些大小变为0kb的NDF文件。
3、使用SQLServer文件检测工具检测所有数据文件,结果发现拼接出的数个NDF文件有少量的空页,其他文件正常。
4、进一步分析发现数据页在存储层面已经不存在了,这些数据页无法恢复,即这几个NDF文件无法完整恢复。
5、尝试附加数据库,报错 “处理数据库的日志时出错,如果可能请从备份还原。如果没有可用的备份,可能需要重新生成日志。”
6、修改系统表,从系统表剔除掉最后添加的LDF文件,计算并修改校验。尝试进行无日志附加数据库,报错:“数据库存在一致性错误。”

wKgaoWcjE32AbQdWAAJD_hojvJc119.png北亚企安数据恢复—SQLServer数据库数据恢复



7、修改系统表中记录这几个损坏的NDF文件的块数量的值,改为和拼接出来的NDF文件块的数量一致,更改这4个NDF文件首页,计算并修改校验值。
8、无日志附加数据库,仍然报错“数据库存在一致性错误。”
9、由于空页都出现在这几个NDF文件后面的十几个块中,截断文件对数据完整性影响不大。重新修改系统表和NDF文件,将数据库中记录NDF文件的块数量的值改为等于报错的块前一页,计算并修改校验。
10、重新进行无日志附加数据库,报错“由于数据库没有完全关闭,无法重新生成日志。”

poYBAGM1Ey2AboEdAAE1URGGv-c292.png北亚企安数据恢复—SQLServer数据库数据恢复



11、修改MDF文件中的数据库的状态值,让数据库认为是完全关闭的。
12、重新附加数据库,附加成功。

wKgZoWcjE5mAPCmpAAG8-MZl5WM510.png北亚企安数据恢复—SQLServer数据库数据恢复


数据库数据恢复结果:
数据库文件成功附加后,由用户方通过数据库中的对象进行查询&验证,经过查询验证,确定表中信息基本完整,数据恢复完整。用户方认可数据恢复结果。

审核编辑 黄宇

编程小号
上一篇 2025-08-05 14:51
下一篇 2025-03-06 14:06

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/55753.html