【服务器数据恢复】ERP/CRM系统SQL Server数据库结构损坏碎片重组数据恢复案例 - 金海境科技

简介: 服务器数据恢复,勒索病毒解密恢复,虚拟化数据恢复,数据库修复数据恢复,VMWare数据恢复,分布式数据恢复,vSAN数据恢复,存储数据恢复,数据恢复

blog3.png

一:客户信息

河北某食品集团

二:案例描述

客户向我们反馈公司运行ERP/CRM的一台DELL服务器由于突然断电,服务器中一台VPS不可用,虚拟磁盘上的数据库文件丢失。

三:解决方案

案例评估

服务器上4块硬盘搭建了一个RAID10的磁盘阵列环境,安装了Citrix XenServer的虚拟化操作系统,虚拟机采用Windows Server操作系统,有系统盘和数据盘两组,上层部署ERP/CRM系统(SQL Server数据库)。服务器意外断电导致虚拟机磁盘丢失,虚拟机不可用,SQL Server数据库和ERP/CRM程序文件丢失,需要恢复SQL Server数据库。

恢复方案

1、将出故障的DELL服务器中所有硬盘以只读方式进行备份,后续的数据恢复分析和数据恢复操作都基于备份的镜像文件进行,不会对原服务器上的数据做任何操作,保证原服务器的初始状态,避免对原始数据造成可能的二次破坏。

2、基于镜像文件对底层数据进行分析,发现故障服务器中丢失的虚拟机磁盘采用LVM结构。进入到“/etc/lvm/backup/”目录下查询看是否有损坏的虚拟磁盘信息,如果有就意味着LVM信息尚有保存;如果没有就意味着虚拟磁盘信息已经被更新,只能通过底层数据查找没有更新的LVM信息。本案例中金海境科技的工程师从底层数据中查询到了尚未更新的LVM信息。

3、找到LVM信息就意味着数据没有丢失。基于LVM信息分析和查找虚拟磁盘的分区数据,但是工程师经过分析后发现了一个非常少见的现象:虚拟磁盘损坏。经过进一步查找和分析后确认该区域的数据确实已经损坏,只能找到一些数据库碎片,可以通过数据库碎片重组的手段来恢复数据:根据数据库结构,将底层找到的数据库碎片按照本来的顺序拼接重组,然后对数据库进行修复和校检后即可恢复数据库。

4、因为数据库碎片重组的恢复方法相对比较复杂,先尝试通过数据库备份来恢复数据库。因为之前数据库做过一次备份,数据库备份文件和ERP/CRM程序文件保存在RAR压缩包中。正常情况下RAR压缩包的**个扇区记录的是文件名,所以可以根据文件名反向查找压缩包的数据起始位置,把相应的压缩包底层数据提取出来并重命名。但是在实际的恢复过程中提取出来的压缩包解压时报错。

5、尝试使用RAR修复工具(设置为“忽略错误”)继续解压数据,仍然解压失败。这种数据恢复方案行不通,只能通过数据库碎片重组的方案来恢复数据库数据。

6、在数据库层面分析数据库的起始位置,分析出数据库起始位置后根据每个数据库碎片的编号和文件号去底层扫描符合这个数据库碎片的所有数据,最后将所有扫描出来的数据重组为一个MDF文件,通过MDF校验程序检测整个MDF文件的完整性,完成后开始提取数据。

7、将服务器内的数据全部提取出来并通过初步验证,没有问题后搭建新的数据库环境,将恢复出来的数据库表添加上去进行查询,所有数据查询正常,本次数据恢复工作完成。

四:案例总结

在SQL Server数据库管理中,数据库碎片(Database Fragmentation)指的是数据在存储介质上的非连续分布,这通常发生在数据库的索引结构中。索引碎片化会导致查询性能下降,因为数据库系统需要花费更多的时间来查找数据。为了优化性能,需要定期重组(Reorganize)或重建(Rebuild)索引。

1. 理解索引碎片

在SQL Server中,有两种类型的碎片:

‌页级碎片‌:这是由于数据页在物理存储中的非连续排列引起的。可以通过重组索引来减少页级碎片。

‌键值碎片‌:这是由于索引键值分布不均匀造成的。重建索引可以显著减少键值碎片。

2. 重组索引

重组索引不会改变索引的结构,只是将现有的数据重新组织到索引结构中,以减少页级碎片。重组索引可以使用以下SQL命令:

sql

Copy Code

ALTER INDEX [IndexName] ON[TableName] REORGANIZE;

3. 重建索引

重建索引会删除现有的索引并重新创建它,这通常用于减少键值碎片并优化索引的物理存储结构。重建索引可以使用以下SQL命令:

sql

Copy Code

ALTER INDEX [IndexName] ON[TableName] REBUILD;

4. 选择何时使用重组与重建

‌使用重组‌:如果你的索引已经很大,且页级碎片较多,但不希望重建索引带来的性能开销(因为重建索引需要额外的磁盘空间和时间),你可以选择重组索引。

‌使用重建‌:如果你注意到查询性能明显下降,且键值分布不均匀,或者你希望彻底优化索引的结构,那么应该选择重建索引。重建索引通常伴随着更好的性能提升,但代价是重建过程中的性能下降和额外的磁盘空间使用。

当数据发生丢失时,金海境科技研发团队深入研究各种服务器和系统设计思路,认真对比故障类别,攻克疑难恢复案例,总结成功恢复经验,拥有成功修复服务器数据库,虚拟化平台,分布式存储等数据中心相关的上万个疑难案例。

相关文章
|
21天前
|
存储 运维 数据库
【服务器数据恢复】华为云Stack虚拟化快照损坏导致民生数据丢失数据恢复案例 - 金海境科技
服务器数据恢复,勒索病毒解密恢复,虚拟化数据恢复,数据库修复数据恢复,VMWare数据恢复,分布式数据恢复,vSAN数据恢复,存储数据恢复,数据恢复
80 12
|
13天前
|
存储 Web App开发 前端开发
新手如何建站.新手建站的全流程
建站是通过整合域名、服务器等要素搭建可访问数字平台的过程,分自助建站、CMS系统和代码开发三类工具。核心流程包括需求规划、域名注册(实名认证)、服务器配置(国内需ICP备案),搭建后填充内容并测试优化,解析域名上线,做好后续维护。
148 10
|
14天前
|
存储 搜索推荐 JavaScript
医院随访管理系统源码开发,患者随访管理系统成品源码,智能随访系统源码,出院随访系统源码
医院随访管理系统源码,基于Java+Vue前后端分离架构,集成患者信息管理、智能随访计划、自动提醒、录音上传、数据统计等功能。支持个性化随访模板、科研随访、多级审核与数据分析,提升医院随访效率与患者满意度。
69 11
|
18天前
|
供应链 数据可视化 Java
云端SaaS诊所管理系统(java源码),实现挂号、开方、收费、发药全流程管理
云诊所SaaS系统,集患者管理、预约挂号、电子处方、智能诊断、药房进销存、财务统计于一体,支持模板调用、库存预警、多支付方式,实现诊疗全流程数字化管理,提升基层医疗效率。
104 13
|
24天前
|
供应链 JavaScript 安全
B/S云门诊系统源码,java云诊所源码,基于Spring Boot、Vue.js构建
云端SaaS架构云门诊系统,基于Spring Boot+Vue开发,支持医保结算,集成预约挂号、诊疗、收费、库存、会员管理等功能,适用于各类基层医疗机构,可打包为C/S桌面应用,支持外接设备免安装配置。
106 10
|
5天前
|
数据采集 存储 编解码
智源RoboCOIN重磅开源!全球本体数最多、标注最精细、使用最便捷的高质量双臂机器人真机数据集来了
北京智源研究院联合多家机构发布全球首个“本体数最多、标注最精细、使用最便捷”的双臂机器人真机数据集RoboCOIN,覆盖15类机器人、18万条轨迹、421项任务,首创“层级能力金字塔”标注体系,推动具身智能迈向真实场景应用。
121 11
 智源RoboCOIN重磅开源!全球本体数最多、标注最精细、使用最便捷的高质量双臂机器人真机数据集来了
|
14天前
|
Web App开发 编解码 定位技术
手机端网站建设:响应式设计主导下的工具选取与实施步骤
移动互联网时代,响应式设计已成手机端建站主流,无需单独搭建手机端。本文以 PageAdmin CMS 为例,阐述其原生响应式架构、轻量化等适配优势,详细拆解从前期规划、环境安装、响应式模板适配、内容优化,到测试上线与后期维护的全流程,该方案适配中小规模站点,能降低开发维护成本,保障多端用户体验一致性。
110 10
|
6天前
|
存储 缓存 应用服务中间件
阿里云轻量应用服务器深度测评:2核2G5M 80G系统盘 38元1年
阿里云轻量应用服务器2核2G怎么样?来看看阿里云轻量应用服务器2核2G深度测评。目前阿里云2核2G轻量服务器有一台68元一年的配置,自带5M固定带宽、80G系统盘,秒杀38元一年,常规优惠价是68元,定闹钟抢购的话是38元一年。
93 10