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

    文章

    764

    浏览量

    44157
  • 数据恢复
    +关注

    关注

    10

    文章

    575

    浏览量

    17470
  • 数据库
    +关注

    关注

    7

    文章

    3807

    浏览量

    64435
收藏 人收藏

    评论

    相关推荐

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

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

    Sybase数据恢复—Sybase数据库无法启动怎么恢复数据

    数据库数据恢复工程师经过检测,发现Sybase数据库出现故障的原因是:异常断电造成Sybase数据库
    的头像 发表于 11-30 16:45 124次阅读
    Sybase<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—Sybase<b class='flag-5'>数据库</b>无法启动怎么<b class='flag-5'>恢复数据</b>?

    数据库数据恢复—通过拼接数据库碎片恢复SQLserver数据库

    试图恢复数据库,发现有数个ndf文件大小变为0KB。 虽然NDF文件大小变为0KB,但是NDF文件在磁盘上还可能存在。可以尝试通过扫描&拼接数据库碎片来恢复NDF文件,然后修复数据库
    的头像 发表于 10-31 13:21 233次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—通过拼接<b class='flag-5'>数据库</b>碎片<b class='flag-5'>恢复</b>SQLserver<b class='flag-5'>数据库</b>

    数据库数据恢复—Oracle ASM实例无法挂载的数据恢复案例

    Oracle数据库数据恢复环境&故障: Oracle ASM磁盘组由4块磁盘组成。Oracle ASM磁盘组掉线 ,ASM实例不能mount。 Oracle
    的头像 发表于 10-28 11:26 164次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—Oracle ASM实例无法挂载的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    Oracle数据恢复—异常断电后Oracle数据库报错的数据恢复案例

    Oracle数据库故障: 机房异常断电后,Oracle数据库报错:“system01.dbf需要更多的恢复来保持一致性,
    的头像 发表于 09-30 13:31 310次阅读
    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><b class='flag-5'>恢复</b>案例

    数据库数据恢复—Oracle数据库文件system01.dbf损坏的数据恢复案例

    打开oracle数据库报错“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。
    的头像 发表于 09-21 14:25 373次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—Oracle<b class='flag-5'>数据库</b>文件system01.dbf损坏的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    数据库数据恢复SQL Server数据库出现823错误的数据恢复案例

    SQL Server数据库故障SQL Server附加
    的头像 发表于 09-20 11:46 358次阅读
    <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>案例

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

    SQL Server数据库数据无法被读取。 经过数据库数据
    的头像 发表于 07-26 11:27 397次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—SqlServer<b class='flag-5'>数据库</b>底层File Record被截断为0的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    数据库数据恢复SQL Server数据库所在分区空间不足报错的数据恢复案例

    Server数据库故障: 存放SQL Server数据库的D盘分区容量
    的头像 发表于 07-10 13:54 510次阅读

    数据库数据恢复数据库所在分区空间不足导致sqlserver故障数据恢复案例

    数据。服务器上部署sql server数据库数据库存放在C盘。 数据库
    的头像 发表于 05-22 13:16 472次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—<b class='flag-5'>数据库</b><b class='flag-5'>所在</b>分区<b class='flag-5'>空间</b><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>案例

    数据库数据恢复—raid5阵列上层Sql Server数据库数据恢复案例

    数据库数据恢复环境: 5块硬盘组建一组RAID5阵列,划分LUN供windows系统服务器使用。windows系统服务器内运行了Sql Serve
    的头像 发表于 05-08 11:43 519次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—raid5阵列上层<b class='flag-5'>Sql</b> <b class='flag-5'>Server</b><b class='flag-5'>数据库</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    数据库数据恢复—ndf文件大小变为0KB的数据恢复案例

    存储设备损坏导致存储中SQL Server数据库崩溃。对数据库文件进行恢复后,用户发现有4个nd
    的头像 发表于 05-07 11:19 424次阅读

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

    服务器数据恢复环境: 一台Windows Server操作系统服务器,服务器上部署MongoDB数据库。 MongoDB数据库
    的头像 发表于 04-23 14:48 413次阅读
    MongoDB<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数据库文件丢失的数据恢复案例

    。存储空间LUN划分了两个逻辑分区。 服务器故障&初检: 由于未知原因,Sql Server数据库文件丢失,丢失
    的头像 发表于 04-11 15:38 901次阅读
    <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><b class='flag-5'>恢复</b>案例