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

来源:互联网 发布:美橙域名 编辑:程序博客网 时间:2024/06/11 16:55

【前言】

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

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

【探索之旅】

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

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

    应用场景:sql误操作! 

    情景再现:

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

  

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

 

    使用流程:   

     ·安装:下载安装包进行安装(下载地址:http://pan.baidu.com/s/1qYoygMS),安装过程和普通软件一模一样在此不再赘述。

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

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

      

         2.选择评估版本

             

         3.ApexSQL会创建日志库:

          

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

          

         5.打开日志操作表:

          

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

        

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

        

         8.查看恢复的脚本:

        

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

                          

    ·恢复后进行验证:

        

             温馨提示:

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

【总结】

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

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

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

5 0