使用APEXSQL LOG解析sql server事务日志,进行审计与数据恢复

一 下载

https://download.csdn.net/download/sunke861/11449739

二 使用

解压安装包后,点击:ApexSQLLog.exe

2.1 连接数据库

连接要审计的数据库:

假如报错:

则点击ok关闭该窗口,然后点击左上方的New按钮:

再重连下就可以了:

2.2 解析事务日志或事务日志备份

2.2.1 解析事务日志

2.2.2 解析事务日志备份

由于sql server 备份事务日志会截断事务日志信息(截断的概念:就是把某个位置之前的所有事务日志信息全都设置为可重用,后续就可以被其他信息覆盖),所以如果要追查的事务日志已经被截断,那么则需要添加上事务日志备份。

点击下方的’Add file’:

指定备份文件后,勾选该备份文件,并取消勾选在线日志:

2.3 过滤时间范围等信息

在’Operation’这里可以选择解析哪种操作类型:

在‘Tables’这里可以只勾选要操作的表:

2.4 查看redo sql,undo sql,事务信息

点击要查看的那行操作记录,在下方可以看到详细信息:

可以看到操作历史,回滚sql,redo sql,事务信息(操作账号):

也可以选中该记录,点击上方的Undo按钮,生成回滚sql:

点击执行按钮可以连接数据库执行回滚语句:

2.5 怎样批量解析某个事务

如果说,并发很多或者行数太多,我们手动恢复比较困难。比如,我们这里的误操作是 

delete test2 where where id >50 and id<=100

但实际运行的时候可能中间还夹杂了很多 insert/update以及其他行的delete,假如我们只想要这个事务语句操作的undo脚本,则可以根据事务号来恢复数据。

APEXSQL LOG会将delete test2 where where id >50 and id<=100; 解析成一条条的delete记录,比如这里delete了50条数据,则能看到50条delete记录,但是事务号是一样的:

可以鼠标点击其中一行记录,然后点击‘Select transaction’,会自动勾选同一事务的所有相关操作:

可以点击上面的undo按钮,生成回滚sql:

--本篇文章参考了https://www.cnblogs.com/gered/p/13182523.html#autoid-6-0-0

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值