数据恢复咨询热线:400-666-3702  

欢迎访问南京兆柏数据恢复公司,专业数据恢复15年

兆柏数据恢复公司

 行业新闻

 当前位置: 主页 > 行业新闻

【巧用文件雕复方法】恢复删除的数据库文件

浏览量: 次 发布日期:2023-08-17 21:49:11

【巧用文件雕复方法】恢复删除的数据库文件

随着计算机中数据存储管理技术的飞速发展,越来越多的应用领域采用数据库来存储和处理信息资源。同时,数据库文件又容易因误操作或者恶意破坏而遭到删除。因此,恢复被删除的数据库文件具有极高的实用价值。SQLServer数据库文件被删除后,其存储于磁盘中的数据并不会被立刻抹除,但是文件系统中的元信息可能被删除或者覆盖,该情况下无法通过文件系统恢复删除的数据文件。由于数据库通常会存储大量数据,数据文件相对较大,并且会随着数据的不断录入而持续增长。这些因素导致数据文件在磁盘中存储时会大量分片,通过文件头特征的签名恢复手段无法有效地恢复删除文件。此时,本文中的文件雕复方法可有效地恢复删除的数据文件。

一、关于sql server数据库SQL Server是微软推出的企业级关系型数据库,具有高性能、高易用性、可伸缩性好、与相关软件集成度高等优点,可方便快捷地构建高可用和高性能的数据应用程序,被广泛应用于各种信息管理系统、办公自动化系统、决策支持系统等。在最新的数据库使用排名中,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数据库文件碎片重组扫描完碎片后,会有两种情况:

第一种情况

磁盘上仅有一个数据文件。该情况下碎片重组较为简单,将所有碎片按照页ID从小到大排列,组合为数据文件,完成恢复。

第二种情况

磁盘中存在多个数据文件,这也是实际应用中最为常见的情况。该情况下碎片重组较为复杂,难点主要在如何区分每个碎片属于哪个文件,特别是在部分文件碎片被覆盖而丢失的时候,非常容易出现重组错误。由于每个数据文件中的数据都有一定差异,经过大量深入的研究分析,已发现多个SQL Server数据特征的提取方法。经过验证,可从多个维度去收集和转换每个文件碎片的数据特征。在此基础上,将特征相似且页ID不存在冲突的文件碎片按照页ID从小到大排列,组合为数据文件,完成恢复。该情况下会恢复出多个数据文件。本文介绍了一种恢复删除的SQL Server数据库文件的方法——文件雕复方法,该方法区别于传统恢复手段,不依赖于文件系统,直接从磁盘数据中提取文件碎片,并将文件碎片重组为数据文件,在文件多分片情况下依然有效。


南京兆柏数据恢复中心 南京兆柏数据恢复中心
相关推荐