作为开发人员,误操作数据delete、update、insert是最正常不过的了,比如:
- 删除忘记加where条件;
- 查询为了图方便按了F5,但是数据里面夹杂着delete语句。
不管是打着后发动机声音噪音过大,缸筒活塞间隙过大,做过全身划痕处理;
还是喷过全身漆,对于有经验的老司机来说,这些都是不是事(还原一下数据库日志恢复就OK),
但是对于驾驶经验不足的人来说就难以驾驶了,只能重新换车(请教DBA:数据库管理员)。
但是并不是所有公司都有DBA,或者认识的朋友是DBA,那只能靠自己了,怎么办呢?
不慌,看法宝!
微软SQL服务器的增值软件工具供应商提供了ApexSQL Log工具(支持SQL Server2005/2008/2012),只要我不付钱,就不是嫖客咯,我都给你们整理好了,
ApexSql Log 2018免安装版下载地址(免费的哦)
百度网盘提取地址:
链接:https://pan.baidu.com/s/1h23f9cQuTQ_-r__yrfueSA
提取码:XZ66
官网地址:https://www.apexsql.com/Download.aspx(比较慢);
这是基于数据库日志的可视化恢复数据的工具,里面有很多功能,我们着重说数据恢复功能;
首先下载软件,使用我上面分享的地址下载或者百度查询下载也可以;
使用教程(以sql server2008为例)
我们先在数据库创建数据表,插入数据,然后把数据全部delete掉,如图所示:
使用ApexSql Log 2018工具恢复刚刚删除的数据
使用其他版本的也可以,我这里使用2018版的
1、打开ApexSql Log 2018,双击ApexSQLLog.exe运行程序
2、登陆需要恢复的数据库,点击Next
3、选择数据库日志,如果是回访备份文件点击Add filf添加,一般直接默认第一个就好了,然后点击Next
然后点击第一个 Open results in grid(在网格中打开结果)
4、选择需要恢复的时间、恢复的数据类型、恢复的数据表,然后点击Finish
5、选择需要的数据进行恢复
加载完成后,选择需要恢复的数据,点击上方的Undo图标
数据加载出来后,可以直接复制到数据库执行,也可以直接点击Execute图标执行
然后我们去数据库看一下最后执行的结果,数据就还原啦;
小编这里不建议以主表自增为子表关联的外键;
至于数据能够恢复的上限这里并没有测试,百度查了一下,有人说是8-10万条数据后会丢失,
真实是多少就需要进一步的压力测试了,这里就偷个懒,谁测试出来了艾特一下我看看。
对于drop和truncate暂时或者删库的就只能去备份里面恢复了,有其他办法的小伙伴可以艾特我一下看看。