sql修复要选择什么文件夹(修复SQL数据库文件的技巧)

SQL Server数据库是Microsoft开发设计的一个关系数据库智能管理系统(RDBMS),广泛应用于电商、旅游、金融、游戏、移动办公、数据仓库和数据分析平台,包括常见的企业OA、ERP管理软件、财务管理软件、收银软件等。在案件取证过程中,取证人员经常会遇到SQL
Server数据库记录被删除的情况,本文将和大家分享恢复SQL Server删除记录的方法,希望为各位的取证工作提供一定的参考价值。(文末为大家准备了实操练习题哟~)

以下为图文讲解内容:

一、删除记录分析

SQL Server数据库一般是以两个文件存放的,一个扩展名为mdf,是数据文件;另一个扩展名为ldf,为日志文件。SQL Server删除数据库记录,主要有三种方式,分别是:

1.delete from数据表 where 条件——删除内容不删除定义,不释放空间。会记录每条删除操作的日志,删除方式为一条一条删除,会记录每个删除操作的日志。

2.drop table 数据表——删除整张表(包括表结构定义),速度最快,最彻底,不保存具体日志。

3.truncate table 数据表——删除整张表内容(只删除数据,保留表结构),没有保存具体删除日志,会截断数据并释放空间。

我们来测试一下SQL2000环境下,三种不同的删除方式,数据库记录能否恢复。原始记录如下,一共有95条记录:

sql修复要选择什么文件夹(修复SQL数据库文件的技巧)

(1)使用delete语句删除表记录,表记录被删除,再使用DBF6300数据库取证分析系统扫描。

(2)使用drop语句删除表,执行语句后,表已经无法查看,再使用DBF6300数据库取证分析系统扫描。

(3)使用truncate语句清空表,执行语句后,表记录被清空,再使用DBF6300数据库取证分析系统扫描。

二、删除恢复思路

SQL Server数据库记录被删除以后,通常有3种数据恢复方法。

1. 通过获取日志内的操作记录(增、删、改等),将日志记录转化为SQL语句,回写数据库记录。

2.通过事务日志回滚,有以下两个前提:

(1)至少有一个误删除之前的数据库完全备份。

(2)数据库的恢复模式(Recovery mode)是“完整(Full)”。

3. 使用针对数据库记录恢复的专业软件—DBF6300数据库取证分析系统。

数据库的日志恢复需要满足特定日志模式设置,并寻找适合版本的软件通过特定操作步骤进行恢复,且恢复数据具有时效性,需要及时恢复,通过日志方式恢复数据库数据需要很复杂的操作步骤,对于不太熟悉数据库的人员建议选择使用DBF6300数据库取证分析系统进行恢复分析操作。

三、案例实操

我们来看一个案例,2021年初,某执法部门突击检查一个洗浴中心,但是前台眼疾手快,瞬间清除了营业数据,导致执法人员无法查看收银记录,现在需要数据恢复。

针对本案例,我们来看看具体如何操作,进行数据库记录恢复。

1.打开DBF6300数据库取证分析系统,选择文件模式,扫描需要恢复的数据库文件。

2. 查看各个表的记录恢复结果。

3. 恢复所有记录。

一般而言,记录恢复操作就到此结束,但是导出的数据往往不具备关联性,不方便数据分析,我们可以尝试将这些数据还原到收银软件的数据库中,从收银软件来查看数据统计。

4. 使用语句清空数据库记录(部分数据库表存在条件约束限制,无法清空)。

(1)执行语句select ‘delete ‘ name FROM SYSOBJECTS WHERE TYPE = ‘U’ ,查询结果会针对这个数据库,生成删除这个数据库所有表的语句。

(2)将查询结果复制到查询分析器执行,清空数据库记录。

5. 将步骤3导出的数据,导入这个空的数据库内(由于格式等原因,导入会报错)。

6. 安装收银软件,配置数据库。

7.登录软件,查看数据。

(1)从数据库中找到用户名和密码(有的数据库表,密码会加密存放)。

(2)查看营业报表。

至此,本次数据库记录的删除恢复就已经完成,并且导入到原始数据库内,查看明细以及数据统计也非常方便。

四、注意事项

1.现场数据库固定的时候,需注意数据库是否存放在本电脑上,可以通过以下三个步骤来查找:

(1)查看程序列表,看看是否安装数据库服务。

(2)由于数据库文件并不是都保存在默认安装目录,可以根据扩展名全盘搜索,并注意数据库文件的修改时间。

2. 需要先停止数据库服务,再固定数据库文件。

(1)若未停止数据库服务,复制会报错,无法完成数据库文件固定。

(2)若未停止数据库服务,通过工具强行拷贝数据库文件,则可能导致数据库不完整,无法附加分析。

五、案例练习

请按以下要求恢复数据库中的数据:

1、恢复表t_rm_payflow的记录,统计付款(字段sale_amount)总额。

2、恢复表t_rm_saleflow的记录,按照商品(字段item_no)汇总销售金额。

Sql数据库附加错误MDF文件无法复制或移动怎么办?【利用SQL注入漏洞获取Windows企业管理级别权限】【巧用日志文件】恢复SQL Server数据库数据【分享】SQL Server数据库逻辑备份文件分析经验【step by step】MySQL数据库取证【技术实战】如何通过日志备份恢复SQL Server数据库删除数据?

发表评论

登录后才能评论