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

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

3天内不再提示

【数据库数据恢复】sql server数据库所在空间不足导致故障的数据恢复

Frombyte 来源:Frombyte 作者:Frombyte 2023-05-12 15:45 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

数据库数据恢复环境:

一台Dell PowerEdge某型号存储,数块SAS硬盘分别组建raid1和raid5两组磁盘阵列。其中2块磁盘组建的RAID1,用于安装操作系统;其余几块磁盘组建raid5,用于存放数据。

上层安装的windows服务器,部署有sql server数据库,sql server数据库存放在C盘分区。

数据库故障&分析:

管理员发现存放sql server数据库的C盘剩余空间不足,于是将数据库路径指向D盘,在D盘生成了一个.ndf文件。

大约半个月之后,数据库出现故障,无法连接和附加查询。

由于数据库文件所在磁盘的容量不足,数据库无法正常运行,出现逻辑错误。

数据库数据恢复过程:

1、将存储设备中所有磁盘以只读方式进行全盘镜像备份,后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始数据造成二次破坏。

2、基于镜像文件分析存储中RAID1和RAID5的结构,获取RAID相关信息,利用这些信息虚拟重组RAID1和RAID5。

3、由于管理员在发现数据库出现故障之后进行过多次数据库恢复操作。每次恢复操作都是在原环境下进行的,导致原始的数据库文件被更改覆盖,磁盘空间被多次复写,所以无法使用尝试恢复之后的数据库文件进行修复。所幸的是,经过沟通得知在数据库发生故障的时候,对原始数据库文件进行过备份。

4、从虚拟重组出来的RAID5的空间中将管理员备份的数据库文件拷贝出来,尝试在数据库中附加,附加失败,错误提示如下:

pYYBAGRd7l6AFn25AAQyenpNuoc061.png

北亚企安数据恢复——sql server数据恢复

错误提示主数据库文件和次级数据库文件不匹配。

5、查看.ndf文件底层,发现该文件中几乎没有数据。尝试取消.mdf文件和.ndf文件之间的关联并只用.mdf文件进行附加,依然报错但错误提示发生变化。错误提示如下:

poYBAGRd7mmAIc96AAPS-NwR2SU404.png

北亚企安数据恢复——sql server数据恢复

错误提示日志文件(.ldf)和数据库文件(.mdf)不匹配。

6、尝试对数据库进行无数据库附加,附加成功。但是发现数据库系统表损坏,无法正常使用。

pYYBAGRd7nGANafPAAMvD3HwbBI882.png

北亚企安数据恢复——sql server数据恢复

7、尝试修复数据库的系统表,但系统表损坏过于严重,无法修复。

8、北亚企安数据恢复工程师编写程序解析&提取数据库文件中的数据库记录。

9、根据数据库备份获取数据库的表结构,重构表结构并将提取出的数据库记录导入到新的表中。

数据验证:

由用户方对提取出的数据库记录进行验证,经过反复验证,确认数据完整有效,本次数据恢复工作完成。

Tips:

部署数据库时要合理分配数据库文件所在磁盘的空间,及时清理垃圾数据,保证数据库的正常、安全运行。

审核编辑:汤梓红

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

    关注

    1

    文章

    789

    浏览量

    46371
  • 数据恢复
    +关注

    关注

    10

    文章

    688

    浏览量

    18804
  • 数据库
    +关注

    关注

    7

    文章

    3993

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

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

    一台服务器上一个分区存放Oracle数据库数据。由于管理员误操作不小心删除了该分区,数据库报错,无法使用。 北亚企安数据恢复工程师到达现场
    的头像 发表于 07-22 14:06 273次阅读
    Oracle<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>案例

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

    MongoDB数据库数据恢复环境: 一台操作系统为Windows Server的虚拟机上部署MongoDB数据库。 MongoDB
    的头像 发表于 07-01 11:13 469次阅读
    <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数据
    的头像 发表于 06-25 13:54 509次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—<b class='flag-5'>SQL</b> <b class='flag-5'>Server</b><b class='flag-5'>数据库</b>被加密如何<b class='flag-5'>恢复数据</b>?

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

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

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

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

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

    MongoDB数据库数据恢复环境: 一台Windows Server操作系统虚拟机上部署MongoDB数据库。 MongoDB
    的头像 发表于 04-09 11:34 659次阅读
    <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 827次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—<b class='flag-5'>SQL</b> <b class='flag-5'>Server</b>附加<b class='flag-5'>数据库</b>提示“错误 823”的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    数据库数据恢复——MySQL数据库误删除表记录的数据恢复案例

    本地服务器,安装的windows server操作系统。 操作系统上部署MySQL单实例,引擎类型为innodb,表空间类型为独立表空间。该MySQL数据库没有备份,未开启binlo
    的头像 发表于 02-22 09:44 1207次阅读
    <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>案例

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

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

    Devart: dbForge Compare Bundle for SQL Server—比较SQL数据库最简单、最准确的方法

      dbForge Compare Bundle For SQL Server:包含两个工具,可帮助您节省用于手动数据库比较的 70% 的时间 dbForge数据比较 帮助检测和分析实
    的头像 发表于 01-17 11:35 868次阅读

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

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

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

    Mysql数据库故障: Mysql数据库表记录丢失。 Mysql数据库故障表现: 1、Mysql
    的头像 发表于 12-16 11:05 1000次阅读
    <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>流程

    数据库数据恢复—MYSQL数据库ibdata1文件损坏的数据恢复案例

    mysql数据库故障: mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用my
    的头像 发表于 12-09 11:05 1054次阅读