达思科技新版产品详情介绍

DST new product details

用达思SQL数据库修复软件怎么修复中了勒索病毒加密的数据库-达思sql数据库修复软件说明书

发布时间:2019-08-08    阅读数:

用达思SQL数据库修复软件怎么修复中了后缀.[mr.hacker@tutanota.com]的勒索病毒加密的数据库?(一卡通综合管理平台)


111.jpg

2.33GB的sql数据库被后缀.[mr.hacker@tutanota.com]加密

    最近几天有一个一卡通综合管理平台的数据库被勒索病毒加密了,因为整个服务器只有sql数据库是重要的,而且客户拒绝向勒索病毒的黑客缴纳赎金,客户联系达思科技,希望达思科技能够帮助修复数据库。

    由于中了勒索病毒的客户越来越多,达思科技数据库修复团队也希望用这个案例,把整个勒索病毒加密的sql数据库修复的过程展示出来,以便帮助更多的受到勒索病毒威胁的公司降低随时。


一、SQL数据库修复前的准备工作


1.1 环境准备:

1、操作系统:推荐使用windows server2016或2019

2、SQL数据库环境:从2000开始安装(如何安装,网上有相应的教程),按照版本依次安装,可以安装SQL Server2000、2005、2008、2008R2、2012、2014、2016、2017、2019等;

3、硬盘:修SQL数据库对硬盘读写要求较高,推荐使用m.2接口(NVMe协议)的SSD固态硬盘。

      内存:建议64GB以上


1.2判断SQL Server数据库的版本?

    如果客户可以准确提供SQL数据库版本,就不需要自己检测版本了,如果客户不确定,我们也可以自己判断,用winhex打开sql数据库的mdf文件,跳转到第144扇区,看看00012060X4和00012060X5两个字节,看看16BIT对应的数值,就可以准确判断SQL数据库的版本,准确判断SQL版本来确定我们修复数据库时需要选择的输出环境的版本。


请看下图,本案例库数值是661,说明版本是SQL SERVER 2008R2

 1.jpg

图一:判断数据库版本

不同SQL数据库版本对应的内部数据库版本数字如下:

SQL Server数据库版本对应的内部数据库版本(数字)
SQL Server 2019896
SQL   Server 2017869
SQL Server 2014 (Azure SQL Server)862
SQL   Server 2016852
SQL Server 2014782
SQL Server 2012706
SQL Server2012 CTP1684
SQL Server 2008 R2660/661
SQL Server 2008655
SQL Server 2005 with vardecimal enabled612
SQL Server 2005611
SQL Server 2000539
SQL Server 7.0515

注意:如果前512扇区或2048或4096扇区被病毒破坏,就需要客户提供具体的数据库版本了。


1.3检测SQL数据库文件,判断修复成功率

1、下载最新版本的达思sql数据库修复软件(点击下载)32-32-2.jpg,无需安装直接运行!打开达思SQL数据库修复软件,点击“检查文件”,测试数据库损坏程度。

 2.jpg

图二:检测数据库文件的损坏率

打开检测文件对话框后,点击“选择文件”选取相应目录后再点击“开始检测”。


 3.jpg

图三:检测数据库文件的损坏率

扫描结束后,重点看一下错误页和空页的数量和比例,如果空页和坏页比例小于5%以下,则数据库修复成功率更高。


4.jpg 

图四:检测数据库文件的损坏率


请看图,本案例的空页为4720,占比为1.5%,错误页(损坏的页)为142,占比几乎为零,因此可以判断,数据库修复的成功率很高!


二、SQL数据库修复过程

1、关于参考库(为什么需要参考库?):

由于SQL数据库的损坏的不确定性,很有可能系统表结构、存储过程等重要参数受损的情况下,我们如果有同结构的好的老备份,达思软件可以把好的表结构提取出来,再把数据库填进去。

2、关于内置的表结构(达思软件打开数据库文件时对话框可选):

达思软件内置了金蝶、用友、管家婆、浪潮、思迅等品牌的数十个版本的表结构,在没有同结构的参考库的情况下,可以选择内置表结构作为参考库,以提高数据库修复的准确率和成功率。

3、达思软件修复SQL数据库的过程

在达思软件界面中选择“打开文件”,选择需要修复的损坏的sql数据库以及和坏库同结构的好数据库作为参照库,开始修复损坏的SQL数据库。

 5.jpg

图五:打开需要修复的数据库文件

 6.jpg

图六:打开需要修复的数据库文件

选择好需要修复的损坏的SQL数据库文件后,再选择事先准备好的相同表结构的好库做参照。

 7.jpg

图七:数据库修复的必要选项

如果客户可以提供老的备份作为参考,就优先选择老的备份作为参考。

如果客户无法提供老的备份作为参考,则可以选择达思软件内置的版本作为参考。

如果达思软件内置也没有,这可以在客户的数据库环境下新建同结构的空库作为参考。

因此,参考库的优先级为:同一个数据库的好的老备份>同结构的的好库>达思软件内置的相同版本>相同环境下新建的表结构一样的空库

 8.jpg

图八:自动解析数据库文件

选择完成后,点击“开始恢复”!

达思软件将会自动修复,根据不同大小以及损坏程度的不同,一般在几分钟内就可以完成展开。

SQL数据库展开后,就可以在达思软件界面中查看数据库的修复结果和数据。如下图:左侧红框中显示的是所有表,右侧蓝框中是修复后的数据库文件的解析结果报告。

 9.jpg

图九:数据库文件解析结果报告

从左侧栏中双击某个表,可以在右侧看到修复后该表里的数据,这个时候可以检查一下重要的表数据是否正确。

 10.jpg

图十:核对表数据是否正确

打开SQL Server2008R2,登陆SQL SERVER,附加好的参照库(提前复制出一份),然后,清空参考库里面的表数据作为接收库。

 11.jpg

图十一:在sql server里打开参考数据库

 12.jpg

图十二:附加好的参考库(清空表数据作为接收库)


 13.jpg

图十三:附加好的参考库(清空表数据作为接收库)


 14.jpg

图十四:附加好的参考库(清空表数据作为接收库)


附加完成后,右键选择该库,选择“新建查询”输入指令完成清除表数据

 15.jpg

图十五:新建查询(清空表数据作为接收库)

清空表数据:

清空表数据,保留视图,存储过程,函数,以及保留表约束、触发器等等,可以给故障数据库预留一个好的躯壳,把坏库数据导入此躯壳。对用友、金蝶等数据库恢复有时候能达到好的效果。

清除表数据有两种方法:

一种用delete from [表名] ,这种方法对于大数据库,速度慢,会产生很大的日志信息,对于小库,速度可以忽略;

另一种是truncate table  [表名] ,这种方法速度快,但清除不了具有外键的表数据。 

在清除表数据时,可以采用两种方法结合。 

清除表数据时先禁用一切约束,清除完成以后再次启用约束就行了。 

1、 采用truncate table  [表名] 清除表数据,排除具有外键属性的表,清除语句获取如下:

Use [要操作的库名字]

-----------------------------------------------------------------------

select

   'alter table  [' +name+ '] nocheck constraint all; alter table  [' +name + '] disable trigger all;

truncate table ['+name+'];'

 + ' alter table  [' +name + '] enable trigger all; alter table  [' +name + '] check constraint all;

 go'

 from sysobjects where id not in(select   parent_object_id from sys.foreign_keys ) and id not in(select   referenced_object_id from sys.foreign_keys ) and  type='U'

-----------------------------------------------------------------------

 上述SQL语句得到的结果,再次在SQL查询分析器里运行。 

2、用 delete from [表名] 清除表数据语句获取如下

Use [要操作的库名字]

-----------------------------------------------------------------------

SELECT 'alter table  [' +object_name (id) + '] nocheck constraint all; alter table  [' +object_name (id) + '] disable trigger all;

 delete from ['+object_name (id)+'];' + '

 alter table  [' +object_name (id) + '] enable trigger all; alter table  [' +object_name (id) + '] check constraint all;

go'

TableName from sysobjects where   type='U'

-----------------------------------------------------------------------

3、 有些MS SQL Server查询分析器,对于 上述语句后面的 go ,copy出来后不自动换行,可以把运行结果保存到文本文件中,查询分析器打开以后,会自动换行。如果不自动换行,sql语句执行报错。

4、 可能遇到清除不了的某些表,查看它和哪些表关联外键,先把两个表的约束同时禁用,再用delete from [表名],完了以后,两个表同时恢复约束使用。

5、 查看清除数据是否成功彻底,用下述语句查看记录数量:

Use [要操作的库名字]

-----------------------------------------------------------------------

SELECT object_name (i.id) TableName,

   rows as RowCnt

FROM sysindexes i

INNER JOIN sysObjects o

ON (o.id = i.id AND o.xType = 'U ')

WHERE indid < 2 and RowCnt>0

ORDER BY RowCnt desc

 16.jpg

图十六:清空参考库的表数据

再从下面蓝框中,单机“TableName”,选择所有表后,右键单击复制

 17.jpg

图十七:清空参考库的表数据作为接收库

复制完后,在上面指令栏中粘贴所有复制内容

 18.jpg

图十八:清空参考库的表数据作为接收库

将光标点到最开始的位置,然后选择执行

 19.jpg

图十九:清空参考库的表数据作为接收库

等待指令执行完毕后,再用最上面的查询指令查询一下结果,一般执行2-3遍后,所有表数据都会被清空(个别清除不了的情况需要逐条去清除数据)

 20.jpg

图二十:清空参考库的表数据作为接收库

 21.jpg

图二十一:清空参考库的表数据作为接收库

表数据清空后,用软件把数据导入到目标库里,在软件界面选择“导出数据”

 22.jpg

图二十二:导出数据库

弹出连接设置界面,服务器名默认为:127.0.0.1(若该机器SQL SERVER版本有很多,后面需要加上“\SQL版本号”,如127.0.0.1\SQL2000或127.0.0.1\SQL2008R2来指定输出环境),

数据库名则输入清除完表数据的目标库名称。

 23.jpg

图二十三:数据库连接设置

点击确定,继续弹出选择界面,一般情况选择全部数据类型即可,数据开始导出

 24.jpg

图二十四:导出数据库

导出过程中,先生成所有表,目标库中这些表已经存在

 25.jpg

图二十五:自动创建表,导出数据库

创建完所有表后,开始自动导出数据。

 26.jpg

图二十六:导出数据库

导出的时间根表的数量以及数据库大小有关,为了提升导出的效率,推荐您使用高速的SSD固态硬盘以及大容量内存。

导出完成后,会生成导出结果报告

 27.jpg

图二十七:导出数据库完成后生成结果报告

自此,数据库修复导出完成

最后,我们来验证一下修复的数据库是否完整?经过验证,这个客户的一卡通综合管理系统完美恢复成功!

 28.jpg

图二十八:在一卡通综合管理平台的应用系统里验证修复后的数据库是否成功

数据库修复完成后,会自动生成MDF文件和LDF文件,把数据库导入到应用中既可以完成验证工作。


  总部:达思凯瑞技术(北京)有限公司

达思数据恢复中心(北京总部):4007000017

地址:北京市海淀区中关村东路66号世纪科贸大厦B座1102室

手机导航请搜“达思数据恢复”,跟着导航来达思吧

电话: 010-62672125  62672120   62670586    62672127

达思数据恢复QQ群:120161291   远程支持QQ:55356052   

达思软件用户QQ群:327273411(需验证正版信息)

技术:010-62670165 / 数据恢复实验室方案: 18600668588

  达思全国各地服务站:

达思(北京)数据恢复:18600668588 达思(宁波)数据恢复:13136323308


达思(连云港)数据恢复:18360698898达思(武汉)数据恢复:18963948587


达思(广州)数据恢复:13602821797 达思(上海)数据恢复:13818157008


达思(成都)数据恢复:13980039145 达思(包头)数据恢复:15049228885

微信公众号服务号200-200.jpg
微信服务号微信公众号订阅号200-200.jpg
微信订阅号

Copyright © 2007 达思凯瑞技术(北京)有限公司  达思科技官网  www.dstfix.com  All rights reserved.京ICP备09028603号XML/HTML

360网站安全检测平台
  • 首页
  • 电话
  • 留言
  •  4007000017