如果你已经急的焦头烂额,看到这篇文章的时候,请你换个坐姿,深呼吸几次,静下心来将这篇文章读完,也许你的问题迎刃而解。

我遇到的情况是这样的,网站被植入木马,盗取了我的web.config文件,web.config文件里面的数据库连接字符串没有加密,而我的数据库远程连接又没有做IP限制,黑客通过数据库客户端连上我的数据库后,将所有的表都Delete掉了,所以大家一定要有一个好习惯将数据库连接字符串加密或者对远程访问数据库的IP作限制

因被黑客Delete掉所有数据的具体时间点我不清楚,所以我就用了一个工具Log Explorer来查看分析数据库日志,看具体是什么时候被Delete掉的(若你已经知道想要还原的时间点,就不用使用此工具啦),至于Log Explorer如何安装使用的,这里就不赘述了,去百度一搜一大堆,安装的时候Client和Server都选,然后安装中会有一步让你输入数据库的用户名和密码,其他不懂的就疯狂下一步吧。

通过Log Explorer工具我查看到被删除的时间点是:07-10 09:46:29.880,那我一会把数据还原到07-10 09:46:29.879就好咧

下面开始言归正传的进行恢复操作了

1、将数据库日志备份一下,用T-Sql语句

1

BACKUP LOG shua TO DISK='c:\shua_log.bak' WITH FORMAT

2、因我的数据库每天都有自动完整备份,找一个最近时间的完整备份,来还原一下,这里我不往旧库覆盖了,直接还原成一个新的数据库shua2

用SQL Server Management Studio工具进行界面操作吧,写sql语句还原太复杂了,不会啊。

对着数据库->右击->还原数据库,下图是我在[还原数据库]界面->[常规]选项卡页的填写情况

然后点【选项】选项卡页,注意这一步非常重要哦

点击【不对数据库执行任何操作,不回滚来提交的事务】,然后确定。如果数据库比较大,这个还原要等很长时间,出去吸几口新鲜空气吧,大功就要告成了。

3、待数据库还原成功后,是这个状态

显示(正在还原...),对着shua2这个数据库右击->任务->还原->还原事务日志。

如上图所填,先填刚开始备份的日志c:\shua_log.bak,然后勾选[还原],最重要的是选择时间点,可惜这个时间点不能选毫秒,所以我就选了29秒,这个时候会还原29.0秒以前的数据,而我的数据是从29.880秒被删除的,所以选29秒妥妥的;为什么我没有选择28秒呢?因为我的数据库每一秒的改变都很大,所以我尽可能的缩小这个时间范围。

填好后,点【确定】吧,大功告成了。现在数据库已恢复成2014-07-10 09:46:29.0时的状态,自然的我那些表数据都回来了。

ps:

1、若您的数据库从来没有完整备份过,就不能用此办法恢复了;

2、在【完整备份->现在】这个时间段内,你进行过数据库日志的较大程度压缩,还原起来恐怕也困难了。

【转自】https://www.cnblogs.com/DaDaOnline/p/4106350.html

【转载】通过sqlserver日志恢复误删除的数据的更多相关文章

  1. 通过sqlserver日志恢复误删除的数据

     如果你已经急的焦头烂额,看到这篇文章的时候,请你换个坐姿,深呼吸几次,静下心来将这篇文章读完,也许你的问题迎刃而解. 我遇到的情况是这样的,网站被植入木马,盗取了我的web.config文件,web ...

  2. 数据误操作,删库跑路?教你使用ApexSQLLog工具从 SQLServer日志恢复数据!

    前几天同事不小心误操作,将SQLServer库的一张表的一个状态字段给刷成了一个统一状态,由于是update执行所以原来的相关状态无法确定.发生这种事情的时候我的小伙伴背后 一凉,估计心里里面想这怕是 ...

  3. Linux中利用extundelete恢复误删除的数据

    利用extundelete工具恢复磁盘误删除的数据 原理: 简单介绍下关于inode的知识.在Linux下可以通过"ls -id"命令来查看某个文件或者目录的inode值,例如查看 ...

  4. 【转载】Sqlserver使用Convert函数进行数据类型转换

    在Sqlserver数据库中,可以使用Convert函数来进行数据类型的转换,如将数字类型decimal转换为字符串nvarchar类型,或者将字符串类型转换为数字类型都可以使用Convert函数来实 ...

  5. 利用sqlserver日志恢复数据

    如果你已经急的焦头烂额,看到这篇文章的时候,请你换个坐姿,深呼吸几次,静下心来将这篇文章读完,也许你的问题迎刃而解. 我遇 到的情况是这样的,网站被植入木马,盗取了我的web.config文件,web ...

  6. sqlserver 通过日志恢复误删的数据

    转载地址:https://www.cnblogs.com/mrzl/p/4043313.html

  7. 如何利用Flashback Query 恢复误删除的数据

    网上有很多关于数据回复的文章,这里整理一篇供大家参考,希望能帮助的大家! 推荐一家即时通讯云服务商:www.yun2win.com,功能包含im即时通讯.实时音视频.电子白板.屏幕共享的多种融合通讯云 ...

  8. 【转载】Sqlserver数据库中无自增Id的情况下使用ROW_NUMBER()函数进行数据分页

    在Sqlserver数据库中,如果查询表中含有自增长Id列,一般会采用select Top的方式来数据的分页操作.而实际上很多数据表设计的时候,不一定含有自增长Id列,那么数据库没有Id自增列的时候要 ...

  9. 使用Binlog日志恢复误删的MySQL数据

    解到: MySQL的binlog日志是什么?通常是用来干什么的? 模拟一次误删数据的操作,并且使用binlog日志恢复误删的数据. 写这篇文章的初衷,是有一次我真的险些把测试数据库的一张表给删除了,当 ...

随机推荐

  1. bzoj 3704 昊昊的机油之GRST 贪心dp,思维

    昊昊的机油之GRST Time Limit: 10 Sec  Memory Limit: 1024 MBSubmit: 80  Solved: 33[Submit][Status][Discuss] ...

  2. Flex布局--必然的选择

    这篇文章是我在阮一峰老师的flex布局教程下,按照自己的理解重写写一遍,以便增强理解.如果你来到这里最好去看一下阮一峰大神的Flex布局教程 正式开始自己的. 说起布局方式,大家首先要了解css3有哪 ...

  3. js 字符串长度截取

    <script> function cutstr(str, len) { var temp, icount = 0, patrn = /[^\x00-\xff]/, strre = &qu ...

  4. TextBox取不到值及其TextBox取不到js赋的值

    原文发布时间为:2009-10-22 -- 来源于本人的百度文章 [由搬家工具导入] 原因:使用了一个只读的TextBox控件 曾经遇到过这样的问题:使用了一个只读的TextBox控件,但是在后台代码 ...

  5. 在VS2013中使用boost库遇到的问题及解决(转)

    原文转自 https://my.oschina.net/SunLightJuly/blog/676891?p=1 最近的项目需要集成一个使用了boost库的开源库.原本应该是比较简单的工作,因为使用的 ...

  6. codevs——1267 老鼠的旅行(棋盘DP)

    1267 老鼠的旅行 2012年CCC加拿大高中生信息学奥赛  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description ...

  7. Windbg调试Sql Server 进程

    http://blog.csdn.net/bcbobo21cn/article/details/52261466 http://www.sqlservercentral.com/blogs/asche ...

  8. 如何让自己的程序支持iPhone5–RetinaImages

    我们知道如果想让程序的启动图像能够适应iPhone5(640X1136),那么我们需要把启动的图像命名以“-568h@2x”结尾的图片,那 么是不是程序中用到的所有图片都可以用这样的方式来命名,以适合 ...

  9. xamarin.ios 半圆角按钮Readerer

    xamarin.from上可以使用本身的button实现圆角带图标的按钮,但是没有半圆角的按钮实现,需要自己使用Renderer重新写过来重写一个button. 下面是一个重写的带边框的方式,代码如下 ...

  10. ssh配置含义解释

    ssh包括客户端配置(ssh_config)和服务端配置(sshd_config) 一.客户端配置ssh_config,客户端软件有SecureCRT.putty.Xshell等 “#”表示注释,虽然 ...