了解数据库的人都知道,数据库的日志记录了我们所有对数据库的操作动作,正是有了日志才使得事务的回滚成为可能。也就是说日志可以让所有的动作可逆,尽管我们知道这个原理,但是很少有人去分析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、好了,功能很强大,你自己多用就熟悉了,特别要注意使用筛选器来筛选要恢复的某个操作、注意操作的时间,时间要精确,操作太多,日志也复杂,眼都会看花,所以你要多用其中的工具进行筛选。

posted on 2006-09-18 11:55  记得忘记  阅读(1231)  评论(0编辑  收藏  举报