zoukankan      html  css  js  c++  java
  • 利用Log Explorer将你已经delete,truncate,drop过的数据进行恢复

        了解数据库的人都知道,数据库的日志记录了我们所有对数据库的操作动作,正是有了日志才使得事务的回滚成为可能。也就是说日志可以让所有的动作可逆,尽管我们知道这个原理,但是很少有人去分析sqlserver的日志,然后生成逆向的脚本,将已经执行的删除动作撤销。现在,我们可以不用发愁了,因为有了Log Explorer ,我们可以使用它来分析sqlserver的日志,生成逆向脚本,来抢救我们已经删除的数据。当然,你把日志清了,我就没办法抢救了。废话不说了,使用步骤如下:

        1、要有Log Explorer for SQL Server 这个软件,http://www.lumigent.com提供这个产品,最新的版本目前是4.0,但是遗憾的是未注册版只能在演示数据库上进行操作。当然你可以利用搜索引擎来查找已经破解的版本。
        2、软件的安装我就不多说了,直接照提示装即可,里面有注册机。
        3、对应软件的使用,里面有帮助向导,提示的很清楚。不过我还是想把快速的使用方法告诉大家:
        4、在开始程序组中点Log Explorer程序图标(像个X).即可进入到程序的主界面。
        5、单击file菜单下面的attach log file命令即可打开连接数据的画面,选择服务器,输入用户和口令。
        6、进入到选择数据库的画面,选择你要操作的数据库。(可以选择use backup file 方式)
        7、点击attach按钮出现了一个提示框,这里面说得是,在某些情况下此工具也不是万能的,都是英文,自己瞧吧。
        8、点确定按钮,关闭提示框。在左边的操作命令树有很多日志相关的操作。如:日志统计、日志分析、日志过滤、日志查看(view log)
        9、单击borwse下的view log 就看到了这些日志的记录。
        10、下面举个例子,来说说如何运用它。(假设现在连接的是pubs数据库)
        11、在sqlserver查询分析器中输入 select * into test1 from jobs  
                                        delete test1
        12、现在可以在log explorer中看到了,后面的记录中有delete 的日志记录(背景为绿色)
        13、现在右键单击其中一条记录,然后选择UNDO..,将提示你保存一个Recovery.sql的脚本,这个脚本就是delete test1的逆向脚本,将
    它保存下来,放入查询分析器中执行,哈哈,数据就全部回来了。
        14、现在再做一个试验,用truncate table test1命令试试。
        15、这时要找回其中的数据就不能到view log 中去了,点击view dll commands命令,点击上面的大快捷图标filter command(有hint提示,就是第一个大图标),在出现的选项中只选择truncate table 命令,其他的都去掉,点击apply。这时程序就只筛选出与truncate table 有关的命令,看到下面的salvage命令按钮了吗?这个就是生成逆向脚本的命令按钮,把逆向脚本调入到查询分析器中执行,数据就回来了。你
    可以用drop table 试试,逆向脚本不仅可以把丢掉的表创建,数据照样可以找回来。
        16、好了,功能很强大,你自己多用就熟悉了,特别要注意使用筛选器来筛选要恢复的某个操作、注意操作的时间,时间要精确,操作太多,日志也复杂,眼都会看花,所以你要多用其中的工具进行筛选。

  • 相关阅读:
    Hibernate初学
    表分区
    单列函数
    Oracle基础
    8.28
    SpringMVC
    SpringMVC 初级操作
    试题评测
    Mybatis

  • 原文地址:https://www.cnblogs.com/pingkeke/p/507280.html
Copyright © 2011-2022 走看看