【转载】通过sqlserver日志恢复误删除的数据

【转载】通过sqlserver日志恢复误删除的数据

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

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

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

<span>【转载】通过sqlserver日志恢复误删除的数据</span>

    通过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语句还原太复杂了,不会啊。

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

<span>【转载】通过sqlserver日志恢复误删除的数据</span>

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

<span>【转载】通过sqlserver日志恢复误删除的数据</span>

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

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

<span>【转载】通过sqlserver日志恢复误删除的数据</span>显示(正在还原...),对着shua2这个数据库右击->任务->还原->还原事务日志。

<span>【转载】通过sqlserver日志恢复误删除的数据</span>

如上图所填,先填刚开始备份的日志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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119320.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • idea搭建javaweb环境_java怎么打开项目

    idea搭建javaweb环境_java怎么打开项目【第一步】新建项目【第二步】点击JavaEnterprise,选择Webapplication,选择已经下载好的Tomcat,选择服务的jdk【第三步】选择框架支撑【第四步】完成创建目录介绍【第五步】配置jar包和classes包,首先在WEB-INF下面新建两个文件夹,classes和lib(装载jar包的,利于使用jstl标签)【第六步】在file中找到ProjectStructure【第七步】点击Modules,选择P…

    2022年9月20日
  • 数据库置疑处理方法有哪些_sql2008数据库置疑

    数据库置疑处理方法有哪些_sql2008数据库置疑/*1.新建一个与置疑数据库同名的数据库(一定要保证文件名是相同的,包括数据文件名和日志文件名)2.停掉sqlserver3.删除新数据库的日志文件4.用置疑数据库的数据文件(.mdf)覆盖掉这个新建的同名数据库的数据库文件5.再重启sqlserver6.执行以下语句*/   use master go execsp_con

    2022年8月20日
  • php7 502 bad gateway,502 bad gateway怎么解决

    php7 502 bad gateway,502 bad gateway怎么解决502BadGateway错误是HTTP状态代码,表示Internet上的一台服务器收到来自另一台服务器的无效响应。在前面的文章中,已经给大家详细介绍了502badgateway是什么意思以及出现这种错误的一些原因总结。那么我们怎么解决502badgateway错误?502BadGateway错误通常是互联网上服务器之间的网络错误,也或者因为您的计算机或互联网连接出现问题。所以我们…

    2022年6月24日
  • 模拟退火 python_粒子群算法怎么设置约束条件

    模拟退火 python_粒子群算法怎么设置约束条件1、最优化与线性规划最优化问题的三要素是决策变量、目标函数和约束条件。线性规划(Linearprogramming),是研究线性约束条件下线性目标函数的极值问题的优化方法,常用于解决利用现有的资源得到最优决策的问题。简单的线性规划问题可以用Lingo软件求解,Matlab、Python中也有求解线性规划问题的库函数或求解器,很容易学习和使用,并不需要用模拟退火算法。但是,由一般线性规划问题所衍生的整数规划、混合规划、0/1规划、二次规划、非线性规划、组合优化问题,则并不是调用某个库函数都能处理.

    2022年10月13日
  • 手眼标定Tsai方法的Matlab仿真分析

    手眼标定Tsai方法的Matlab仿真分析手眼标定方程推导手眼标定求解:Tsai方法

    2022年5月4日
  • 面试官问我:一个 TCP 连接可以发多少个 HTTP 请求?我竟然回答不上来..

    面试官问我:一个 TCP 连接可以发多少个 HTTP 请求?我竟然回答不上来..

    2022年2月12日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号