SCPPO(十二):SQL误操作如何恢复?

强烈推荐一个大神的人工智能的教程:http://www.captainai.net/zhanghan

【前言】

    今天研究项目中自己有疑惑的一块儿内容应该是这个系统的核心—数据从上传的Access中解析出来(ETL的贡献)经过一系列的存储过程将数据放到数据库表中(每天凌晨都会定时的执行这一系列操作)这只是今天的引子,不具体深入的讲解下去,小编会在接下来的博文中更加深入的为大家分享;

    在分析这块儿的时候无意在服务器上发现一款软件—ApexSQL Log;之前没接触过出于好奇就去网上查了一下它是干嘛用的,这一查不要紧,又燃起了自己新的兴趣,仿佛一切的一切上天冥冥之中自有安排!为何这么说?小编下面为大家娓娓道来。

【探索之旅】

    相信有点开发经验的朋友都知道SQL语句的威力,一句SQL可以改变整个世界哈!至今犹记之前世超和浩哥都为自己讲述过一句SQL的误操作造成效果(比如:Delete、Update时忘带where条件等等),往往很多时候发生在正式库上,执行完后:妈呀!想重新投胎的心都有!相信有的读者就经历过,明白其中的威力所以小编在直接操作sql的时候都加倍小心,检查再三再执行,即使这样有时候也难逃手欠的魔爪!

    一直在苦苦寻觅一款神奇能想喝后悔药一样,弥补损失;今天果然让我给撞到了!

    应用场景:sql误操作! 

    情景再现:

     ·在本地数据库中创建一个表,并写入些数据以做测试用(在此以test为数据库,以testsql为表)。

  

     ·模拟误操作(在此以delete删除整个表为例)

 

    使用流程:   

     ·安装:下载安装包进行安装(下载地址:百度网盘-链接不存在),安装过程和普通软件一模一样在此不再赘述。

     ·利用该软件(在此以2013的破解版本为例)进行数据恢复:

         1.填写连接数据库的相关信息:

      

         2.选择评估版本

             

         3.ApexSQL会创建日志库:

          

         4.根据情况选择恢复时间:

          

         5.打开日志操作表:

          

         6.查看数据库的操作日志:

        

         7.进行恢复操作(以恢复删除的第一条数据为例,如果想恢复整个删除十一条数据只需重复该步骤即可):

        

         8.查看恢复的脚本:

        

         9.在SQLServer中执行恢复脚本:

                          

    ·恢复后进行验证:

        

             温馨提示:

      官网上(SQL transaction log reader | ApexSQL)已经出到2016的版本,在使用2016版本过程中未找到破解版,导致恢复操作受限,还是拿上面的例子来说,在进行查看恢复日志时会出现如下情况(建议大家使用2013的破解版本功能完整):  

【总结】

     1.郑重声明:通过系统录入数据,严格有流程会从根本上避免这种情况的出现;但是实际情况是很多开发都不是严格按照规范,这样的情况是经常发生(你我都懂的)!

     2.对新的东西要保持一颗好奇的心;多去学习自己没接触过的东西!

     3.大家在操作数据库时(尤其是线上数据库)还是要倍加小心,这只是补救措施,切不可因有它而对数据库妄作非为不然~~~

评论 60
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

当年的春天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值