我的编程空间,编程开发者的网络收藏夹
学习永远不晚

SqlServer数据库数据恢复报告是怎样的

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

SqlServer数据库数据恢复报告是怎样的

这篇文章给大家介绍SqlServer数据库数据恢复报告是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

1、数据库故障概述
SQL server数据库的数据无法被读取。

2、故障分析
SQL server数据库文件无法被读取,是由于底层File Record被截断为0,无法找到文件开头,数据表结构也被损坏。镜像文件的前面80M左后的空间,还有中间一部分被覆盖掉,导致系统表被损坏,所以无法读取,考虑用自动备份文件来提取表结构。
 日志中的操作记录:
SqlServer数据库数据恢复报告是怎样的
由于系统表被损坏,有大量数据表的结构无法被确定,只能靠工程师根据经验进行恢复工作。

3、解决方案

备份用户数据,对丢失数据的硬盘。做全盘备份,以确保数据的安全性。
分析备份文件中旧数据的数据库。
从旧数据库中寻找数据表的结构。
从日志中提取一部分数据表的结构。
从日志中和残留数据中提取完好的数据。
根据日志恢复对应的数据,并检查数据是否正确。
核对数据没问题后恢复所有数据。

4、数据恢复实施过程

4.1备份用户数据
由于数据全部都放在客户的原盘中,先交给硬件部门检测硬盘是否存在物理故障。经检测没问题后对每块硬盘做全盘镜像,使用专用工具将硬盘中所有扇区镜像到一块备份硬盘中。
4.2扫描镜像文件
用winhex打开残留文件,仔细分析硬盘底层数据,发现硬盘底层中还残留着许多以前SQL server的日志和备份文件。经过细心察看和分析,发现日志中有数据库很多包括插入语句的操作记录,这些记录可以考虑提取出来。还有备份文件,打开备份文件可以发现有建表语句,还有一部分旧数据。
但由于整个硬盘太大,人工去搜索SQL server相关数据部分会很慢,因此编写一个提取数据库相关数据的小程序,对整个硬盘中所有存在的数据库残留做扫描,提取所有数据。
4.3分析扫描数据
对扫描到的所有日志文件进行分析,发现日志文件中也分数据页,有着固定的开头和结尾,其中每条数据都在固定的位置有自己的object ID号,在接下来的扫描文件中,继续搜寻有同样的object Id的数据记录,发现结构相同,可以确定这是完好的数据,可以提取。
再对扫描到的备份文件进行分析,发现可以从中提取出很多建表语句,可以得到一部分表结构。剩余的表结构,由于截断为0的部分刚好在系统表,没有办法提取表结构,只能从日志中提取的数据来猜测表结构和数据类型。
4.4提取数据
根据之前分析的结论,先编写程序从备份文件中提取建表语句,根据建表语句分析出表结构与各种数据类型,同时在残留的系统表中寻找22H、07H、05H表,根据这些建立表与OBJECT_ID的对应关系。然后编写新的程序对日志中的记录进行提取(我是在这一步无法把numeric类型的字节码解析成数据,所以卡住了),根据object ID来对数据和表进行对应,并插入到新表中。
4.5验证所有数据
经验证,数据恢复出来的新表与人工观察到的数据基本一致。
数据恢复成功。

关于SqlServer数据库数据恢复报告是怎样的就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

SqlServer数据库数据恢复报告是怎样的

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

SQLServer数据库之备份和恢复数据库

在一些对数据可靠性要求很高的行业,若发生意外停机或数据丢失,其损失是十分惨重的,因此,本文详细介绍了数据库备份和恢复数据库方法,感兴趣的同学可以借鉴一下
2023-03-23

sqlserver数据库恢复的方法是什么

SQL Server数据库的恢复方法通常有以下几种:使用备份文件恢复:可以利用SQL Server Management Studio (SSMS)或T-SQL命令来还原数据库备份文件来恢复数据库。使用事务日志恢复:如果数据库发生了意外故障
sqlserver数据库恢复的方法是什么
2024-04-09

SQLServer数据库误操作恢复的方法

本文主要介绍了SQLServer数据库误操作恢复的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-01-30

sqlserver数据库怎么恢复到挂起状态

在SQL Server中,数据库的恢复到挂起状态需要执行以下步骤:首先,连接到 SQL Server Management Studio,并选择要恢复的数据库。在“对象资源管理器”中右键单击数据库,选择“任务” > “恢复”。在弹出的对
sqlserver数据库怎么恢复到挂起状态
2024-04-09

sqlserver误删数据库表恢复记录

不说血泪史,用了网上说的各种存储过程,各种设置,最后还是第三方软件解决,前提:数据库全表备份,具体怎么查看度娘一下,用的软件是ApexSQLLog,数据库是sqlserver2017向下版本未测试,不知道情况。百度网盘: https://pan.baidu.c
sqlserver误删数据库表恢复记录
2017-12-06

mysql数据库怎么恢复数据

要恢复MySQL数据库中的数据,有几种常见的方法:使用备份文件:如果您有数据库的备份文件,可以通过将备份文件恢复到MySQL数据库中来恢复数据。可以使用mysqldump命令来创建数据库备份文件,然后使用mysql命令将备份文件导入到数据库
mysql数据库怎么恢复数据
2024-05-21

sqlserver恢复表数据的方法是什么

在SQL Server中,恢复表数据的方法通常包括以下几种:使用事务日志备份进行恢复:如果表数据被意外删除或修改,可以通过还原事务日志备份来恢复表数据到之前的状态。使用备份进行恢复:如果有定期备份数据库的策略,可以通过还原数据库备份来恢复表
sqlserver恢复表数据的方法是什么
2024-04-09

oracle数据库delete的数据怎么恢复

oracle数据库中已删除的数据可以通过以下步骤恢复:检查回收站:进入回收站查看已删除的数据,如在则恢复。使用flashback query:在数据不在回收站时使用flashback query命令恢复。使用logminer工具:通过解析r
oracle数据库delete的数据怎么恢复
2024-04-18

编程热搜

目录