了解数据库的人都知道,数据库的日志记录了我们所有对数据库的操作动作,正是有了日志才使得事务的回滚成为可能。也就是说日志可以让所有的动作可逆,尽管我们知道这个原理,但是很少有人去分析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、好了,功能很强大,你自己多用就熟悉了,特别要注意使用筛选器来筛选要恢复的某个操作、注意操作的时间,时间要精确,操作太多,日志也复杂,眼都会看花,所以你要多用其中的工具进行筛选。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述