无法恢复被删除的SQL Server数据库文件?试试这种方法!
浏览量: 次 发布日期:2023-08-17 21:49:16
无法恢复被删除的sql server数据库文件?试试这种方法!
随着计算机中数据存储管理技术的飞速发展,越来越多的应用领域采用数据库来存储和处理信息资源。同时,数据库文件又容易因误操作或者恶意破坏而遭到删除。因此,恢复被删除的数据库文件具有极高的实用价值。
SQL Server数据库文件被删除后,其存储于磁盘中的数据并不会被立刻抹除,但是文件系统中的元信息可能被删除或者覆盖,该情况下无法通过文件系统恢复删除的数据文件。由于数据库通常会存储大量数据,数据文件相对较大,并且会随着数据的不断录入而持续增长。这些因素导致数据文件在磁盘中存储时会大量分片,通过文件头特征的签名恢复手段无法有效地恢复删除文件。此时,本文中的文件雕复方法可有效地恢复删除的数据文件。
关于SQL Server数据库
基础知识篇
在详细介绍文件雕复方法之前,效哥先带大家简单认识一下SQL Server数据库。SQL Server是微软推出的企业级关系型数据库,具有高性能、高易用性、可伸缩性好、与相关软件集成度高等优点,可方便快捷地构建高可用和高性能的数据应用程序,被广泛应用于各种信息管理系统、办公自动化系统、决策支持系统等。在数据库使用排名中,SQL Server以较大优势常年占据第三的位置。
2023年1月数据库使用排名,来源:DB-Engines
SQL Server数据库的文件结构
进阶理论篇
以上浅表概念仅勾勒了SQL Server的轮廓,我们还需要对其形成更深层次的了解。通过研究SQL Server数据库的文件结构,可以发现文件数据被划分为固定大小的片段,该片段称为“页”。页的大小一般为8192个字节。页也是SQL Server数据库存储数据的基本单元。文件结构如下图所示:
研究发现,每个页的前0x60个字节都具有固定的结构,称为“页头”,页头结构如下图所示:
上述页头结构中,每一项都具有特定的取值范围,并且部分取值范围极小,构成了区别于非SQL Server数据库文件数据的独特特征。特别地,页头中的m_pageId为页ID,它是页的逻辑编号,数据文件中的页ID按照从0开始依次递增的顺序进行编号。
SQL Server数据库文件碎片扫描
恢复步骤一
根据前面所述,页头特征可有效区分数据片段是否为SQL Server数据库文件的页,为碎片扫描提供了理论依据。
我们需要从头至尾读取磁盘数据,按扇区检查数据。假定数据为SQL Server数据库文件的页,检查页头结构中的每一项值是否在取值范围内。若页头检查通过,则认为从该位置开始的8192个字节数据为一个页,并从该位置的8192个字节后继续检查数据;否则,继续检查下一个扇区的数据。
通常情况下,会出现前后相接的多个页。若它们的页ID是连续递增的,则认为它们属于同一个数据文件,合并为一个文件碎片;否则,认为它们属于不同数据文件,分散为多个文件碎片。
扫描完磁盘后,将得到大量文件碎片,下一步则是对碎片进行重组,得到一个或者多个数据文件。
SQL Server数据库文件碎片重组
恢复步骤二
扫描完碎片后,会有两种情况:
情况一
01
磁盘上仅有一个数据文件。该情况下碎片重组较为简单,将所有碎片按照页ID从小到大排列,组合为数据文件,完成恢复。
情况二
02
磁盘中存在多个数据文件,这也是实际应用中最为常见的情况。该情况下碎片重组较为复杂,难点主要在如何区分每个碎片属于哪个文件,特别是在部分文件碎片被覆盖而丢失的时候,非常容易出现重组错误。
由于每个数据文件中的数据都有一定差异,经过大量深入的研究分析,已发现多个SQL Server数据特征的提取方法。经过验证,可从多个维度去收集和转换每个文件碎片的数据特征。在此基础上,将特征相似且页ID不存在冲突的文件碎片按照页ID从小到大排列,组合为数据文件,完成恢复。该情况下会恢复出多个数据文件。
效哥小结
Summary
本文介绍了一种恢复删除的SQL Server数据库文件的方法——文件雕复方法,该方法区别于传统恢复手段,不依赖于文件系统,直接从磁盘数据中提取文件碎片,并将文件碎片重组为数据文件,在文件多分片情况下依然有效。
END
上述文件雕复方法已被融合于DBF6300数据库取证分析系统当中,助力了无数案件侦查过程中的数据恢复与提取。但在DBF6300之外,还有一款产品同样具备数据库恢复功能。
全介质数据恢复取证产品
DRP6700数据恢复先锋系统
DRP6700支持广泛、功能强大,集计算机恢复、手机数据恢复、监控视频恢复、数据库恢复于一体,是数据恢复软件中的「六边形战士」;一款软件提供多重数据恢复功能,是性价比追求者的不二之选。近期,我们还对DRP6700进行了升级,其数据库提取恢复能力得到进一步强化。
(公检法相关行业客户✦免费试用✦:效率源公众号后台回复“试用”,即可进入产品试用通道。)
南京兆柏数据恢复中心 南京兆柏数据恢复中心 南京兆柏数据恢复中心
. 数据库恢复挂起怎么办,SQL Server数据库恢复挂起怎么办?全面解析及解决方法
. sqlserver可疑数据库恢复,SQL Server 可疑数据库恢复全攻略
. sqlserver2008数据库可疑,SQL Server 2008数据库可疑状态解
. 数据库的恢复模式有哪些,SQL Server数据库的恢复模式详解
. SQL Server 恢复挂起状态,原因、诊断与解决方法
. sqlserver备份到其他服务器,SQL Server数据库备份到其他服务器的实用
. 2008数据库怎么还原数据库,SQL Server 2008 数据库还原指南
. sqlserver数据库恢复挂起状态,什么是SQL Server数据库恢复挂起状态?
. sqlserver数据库恢复50g大约多少时间,了解SQL Server数据库恢复
. sql server数据库显示恢复挂起,什么是SQL Server数据库恢复挂起?
. sqlserver数据库恢复进度,什么是SQL Server数据库恢复进度?
. sqlserver数据库恢复步骤,SQL Server数据库恢复步骤
. sqlserver数据库恢复数据,什么是SQL Server数据库恢复数据?
. sqlserver数据库恢复,什么是SQL Server数据库恢复?
. sqlserver数据库恢复挂起什么导致的,什么是SQL Server数据库恢复挂起
. sqlserver数据库恢复挂起,什么是SQL Server数据库恢复挂起?
. sqlserver数据库恢复工具,什么是SQL Server数据库恢复工具?
. sqlserver数据库恢复模式,什么是SQL Server数据库恢复模式?
. sqlserver数据库恢复挂起怎么解决,什么是SQL Server数据库恢复挂起?