您的位置:首页 > 运维架构

[转]利用Log Explorer将你已经delete,truncate,drop过的数据进行恢复

2008-01-23 12:52 363 查看
原地址: http://blog.csdn.net/jiangopen/archive/2004/07/14/41684.aspx

作者:jiangopen

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

1、要有Log Explorer for SQL Server 这个软件,http://www.lumigent.com提供这个产品,最新的版本目前是4.0,但是遗憾的是未注册版只能在演示数据库上进行操作。当然你可以利用搜索引擎来查找已经破解的版本,我目前得到的版本是3.2,是破解的版本,我希望公司用户还是去买个注册号,这年头做软件不容易,我们自己作个产品也很费劲,互相理解一下吧。你可以进入http://www.efile.com.cn/,用空间搜索功能,输入“log”,进行搜索,那么我的个人空间上有此产品(3.2版本的),直接下载即可。另外,你可以到www.ttxx.com搜索此软件。

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、好了,功能很强大,你自己多用就熟悉了,特别要注意使用筛选器来筛选要恢复的某个操作、注意操作的时间,时间要精确,操作太多,日志也复杂,眼都会看花,所以你要多用其中的工具进行筛选。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: