sqlserver备份还原数据库_sqlserver bak 还原_sqlserver还原数据库

往期回顾

在第一期实操课中,王老师和大家分享了关于数据恢复中的分区格式化数据恢复实操课程,各位可以点击链接进行课程复习:。

在上期课程的最后,为大家布置了两道课后练习题sqlserver还原数据库,你们都做对了吗?现在,公布课后练习题答案:第一题:64张;第二题:720张。本期,王老师将继续为大家分享数据库的实操课程,介绍SQL Server数据库删除记录恢复的方法。

sqlserver bak 还原_sqlserver还原数据库_sqlserver备份还原数据库

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条记录:

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

sqlserver备份还原数据库_sqlserver bak 还原_sqlserver还原数据库

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

sqlserver备份还原数据库_sqlserver bak 还原_sqlserver还原数据库

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

sqlserver bak 还原_sqlserver备份还原数据库_sqlserver还原数据库

sqlserver还原数据库_sqlserver备份还原数据库_sqlserver bak 还原

sqlserver备份还原数据库_sqlserver bak 还原_sqlserver还原数据库

二、删除恢复思路

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

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

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

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

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

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

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

三、案例实操

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

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

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

sqlserver备份还原数据库_sqlserver还原数据库_sqlserver bak 还原

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

3. 恢复所有记录。

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

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

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

sqlserver还原数据库_sqlserver bak 还原_sqlserver备份还原数据库

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

sqlserver bak 还原_sqlserver还原数据库_sqlserver备份还原数据库

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

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

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

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

(2)查看营业报表。

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

sqlserver bak 还原_sqlserver还原数据库_sqlserver备份还原数据库

四、注意事项

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

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

sqlserver备份还原数据库_sqlserver bak 还原_sqlserver还原数据库

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

sqlserver还原数据库_sqlserver bak 还原_sqlserver备份还原数据库

(3)若没有搜索到,可以查看注册表或配置文件,看看远程连接地址。

sqlserver bak 还原_sqlserver还原数据库_sqlserver备份还原数据库

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

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

sqlserver备份还原数据库_sqlserver bak 还原_sqlserver还原数据库

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

sqlserver还原数据库_sqlserver备份还原数据库_sqlserver bak 还原

sqlserver还原数据库_sqlserver bak 还原_sqlserver备份还原数据库

五、案例练习

文章实操练习题及软件下载链接(软件激活可微信或拨打电话联系028-85211099):,提取码:u36r;

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

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

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

sqlserver备份还原数据库_sqlserver还原数据库_sqlserver bak 还原

如果您有任何想要了解的实操问题,或者在实战中难以处理的问题,都可以在栏目下方留言告诉我们,我们会将大家的问题安排进栏目的后续内容。

往期精选

限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: muyang-0410