0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

数据库数据恢复—SqlServer数据库底层File Record被截断为0的数据恢复案例

Frombyte 来源:Frombyte 作者:Frombyte 2024-07-26 11:27 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

SQL Server数据库故障&分析&恢复方案:
SQL Server数据库的数据无法被读取。
经过数据库数据恢复工程师的初步检测,发现SQL Server数据库文件无法被读取的原因是底层File Record被截断为0,无法找到文件开头,而且数据表结构也已经损坏。镜像文件的前几十M和中间一部分空间被覆盖,系统表损坏,所以无法读取。
日志中的操作记录:

pYYBAGSRTBOAJcT3AATg2PM85Ok126.png

北亚企安数据恢复—SqlServer数据恢复



由于系统表损坏,大量数据表的结构无法确定,只能靠仅有线索和数据恢复工程师的技术&经验来恢复数据库数据。
经过北亚企安数据恢复工程师团队的会诊,最终敲定针对该数据库的数据恢复方案:
1、备份数据。对丢失数据的硬盘做全盘镜像备份,以确保数据的安全性。
2、分析备份文件中原数据库,从原数据库中寻找数据表的结构。
3、从日志中提取一部分数据表的结构。
4、从日志中和残留数据中提取完好的数据。
5、根据日志恢复对应的数据,并检查数据的正确性。
6、核对数据没问题后恢复所有数据。

SQL Server数据库数据恢复过程:
1、将故障数据库所涉及到的硬盘标记后从服务器上取下,移交给硬件工程师检测是否存在物理故障。经过检测没有发现有磁盘存在物理故障。将每块硬盘以只读方式做扇区级全盘镜像。镜像完成后将所有硬盘按照原样还原到原服务器中。
备份硬盘数据:

poYBAGSRTCSAE2z7AAMTkHxOwKw503.png

北亚企安数据恢复—SqlServer数据恢复



2、打开镜像文件,分析硬盘底层数据,发现硬盘底层残留着许多SQL Server数据库的日志和备份文件。经过查看和分析,发现日志中有很多包括插入语句的数据库操作记录;备份文件中有建表语句和一部分旧数据。
北亚企安数据恢复工程师编写了一个提取数据库相关数据的小程序,扫描所有存在的数据库残留并提取所有数据。
3、分析扫描到的所有日志文件,发现日志文件中的数据记录有着固定的开头和结尾,其中每条数据都在固定的位置上有自己的OBJECT_ID号,在接下来的扫描文件中,继续搜寻有同样OBJECT_ID的数据记录,发现结构相同,就可以确定这是完好的数据,并进行提取。
分析扫描到的备份文件,发现很多建表语句,根据这些语句可以获取到一部分表结构。针对剩余的表结构,由于截断为0的部分刚好在系统表,没有办法提取表结构,只能通过从日志中提取的数据来推理表结构和数据类型。
4、根据前面的分析,北亚企安数据恢复工程师编写程序从备份文件中提取建表语句,根据建表语句分析出表结构与各种数据类型。
5、在残留的系统表中寻找22H、07H、05H表,根据这些建立表与OBJECT_ID的对应关系。北亚企安数据恢复工程师编写程序提取日志中的记录,根据OBJECT_ID将数据和表进行对应,并插入到新表中。
6、经过验证,用户方确认恢复出来的数据完整有效,认可数据恢复结果。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据恢复
    +关注

    关注

    10

    文章

    689

    浏览量

    18804
  • 数据库
    +关注

    关注

    7

    文章

    3993

    浏览量

    67742
  • SQLserver
    +关注

    关注

    0

    文章

    21

    浏览量

    7324
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    mysql数据恢复—mysql数据库truncate的数据恢复案例

    某云ECS网站服务器,linux操作系统,部署了mysql数据库。工作人员在执行数据库版本更新测试时,错误地将本应在测试执行的sql脚本在生产上执行了,导致部分表
    的头像 发表于 09-11 09:28 591次阅读
    mysql<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—mysql<b class='flag-5'>数据库</b>表<b class='flag-5'>被</b>truncate的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    数据库数据恢复—服务器异常断电导致Oracle数据库故障的数据恢复案例

    Oracle数据库故障: 某公司一台服务器上部署Oracle数据库。服务器意外断电导致数据库报错,报错内容“system01.dbf需要更多的
    的头像 发表于 07-24 11:12 438次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—服务器异常断电导致Oracle<b class='flag-5'>数据库</b>故障的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    Oracle数据恢复—格式化分区导致Oracle数据库报错的数据恢复案例

    完成后将所有硬盘按照原样还原到原服务器中,后续的数据分析和数据恢复操作基于镜像文件进行,避免对原始磁盘数据造成二次破坏。基于镜像文件分析所有硬盘底层
    的头像 发表于 07-22 14:06 273次阅读
    Oracle<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—格式化分区导致Oracle<b class='flag-5'>数据库</b>报错的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    数据库数据恢复—MongoDB数据库文件丢失的数据恢复案例

    MongoDB数据库数据恢复环境: 一台操作系统Windows Server的虚拟机上部署MongoDB数据库。 MongoDB
    的头像 发表于 07-01 11:13 471次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—MongoDB<b class='flag-5'>数据库</b>文件丢失的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    数据库数据恢复—SQL Server数据库加密如何恢复数据

    SQL Server数据库故障: SQL Server数据库加密,无法使用。 数据库MDF、LDF、log日志文件名字篡改。
    的头像 发表于 06-25 13:54 510次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—SQL Server<b class='flag-5'>数据库</b><b class='flag-5'>被</b>加密如何<b class='flag-5'>恢复数据</b>?

    oracle数据恢复—oracle数据库误执行错误truncate命令如何恢复数据

    oracle数据库误执行truncate命令导致数据丢失是一种常见情况。通常情况下,oracle数据库误操作删除数据只需要通过备份恢复数据
    的头像 发表于 06-05 16:01 611次阅读
    oracle<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—oracle<b class='flag-5'>数据库</b>误执行错误truncate命令如何<b class='flag-5'>恢复数据</b>?

    SQLSERVER数据库是什么

    SQL Server 是由微软公司开发的一款 关系型数据库管理系统(RDBMS) ,用于存储、管理和检索结构化数据。它是企业级应用中广泛使用的数据库解决方案之一,尤其适用于Windows平台,但也
    的头像 发表于 05-26 09:19 995次阅读

    分布式存储数据恢复—虚拟机上hbase和hive数据库数据恢复案例

    分布式存储数据恢复环境: 16台某品牌R730xd服务器节点,每台服务器节点上有数台虚拟机。 虚拟机上部署Hbase和Hive数据库。 分布式存储故障: 数据库
    的头像 发表于 04-17 11:05 515次阅读

    数据库数据恢复——MongoDB数据库文件拷贝后服务无法启动的数据恢复

    MongoDB数据库数据恢复环境: 一台Windows Server操作系统虚拟机上部署MongoDB数据库。 MongoDB数据库
    的头像 发表于 04-09 11:34 662次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>——MongoDB<b class='flag-5'>数据库</b>文件拷贝后服务无法启动的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>

    数据库数据恢复—SQL Server附加数据库提示“错误 823”的数据恢复案例

    SQL Server数据库附加数据库过程中比较常见的报错是“错误 823”,附加数据库失败。 如果数据库有备份则只需还原备份即可。但是如果没有备份,备份时间太久,或者其他原因导致备份
    的头像 发表于 02-28 11:38 830次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—SQL Server附加<b class='flag-5'>数据库</b>提示“错误 823”的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    数据库数据恢复—Windows无法启动MongoDB服务的数据恢复案例

    某单位一台MongoDB数据库由于业务需求进行了数据迁移,数据库迁移后提示:“Windows无法启动MongoDB服务(位于 本地计算机 上)错误1067:进程意外终止。”
    的头像 发表于 02-13 12:44 636次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—Windows无法启动MongoDB服务的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    虚拟化数据恢复—误还原快照的数据恢复案例

    虚拟化数据恢复环境&故障: vmfs文件系统,存储的数据SqlServer数据库及其他办公文件。 工作人员误将快照还原,导致了
    的头像 发表于 02-07 11:09 632次阅读

    SqlServer数据恢复SqlServer数据库数据恢复案例

    一块硬盘上存放的SqlServer数据库,windows server操作系统+NTFS文件系统。由于误操作导致分区损坏,需要恢复硬盘里的SqlServer
    的头像 发表于 01-09 11:15 760次阅读
    <b class='flag-5'>SqlServer</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—<b class='flag-5'>SqlServer</b><b class='flag-5'>数据库</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    数据库是哪种数据库类型?

    数据库是一种部署在虚拟计算环境中的数据库,它融合了云计算的弹性和可扩展性,用户提供高效、灵活的数据库服务。云数据库主要分为两大类:关系型
    的头像 发表于 01-07 10:22 806次阅读

    数据库数据恢复—Mysql数据库表记录丢失的数据恢复流程

    Mysql数据库故障: Mysql数据库表记录丢失。 Mysql数据库故障表现: 1、Mysql数据库表中无任何数据或只有部分
    的头像 发表于 12-16 11:05 1002次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—Mysql<b class='flag-5'>数据库</b>表记录丢失的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>流程