事务日志还原的次意外的操作失误

事务日志还原的次意外的操作失误

前几天新发布的一套程序发生了一次意外的操作失误,程序员修改某个表的指定范围的指定字段的时候,误操作导致更新操作没有执行where,直接引起该表指定字段全部变为更新字段,为了解决这个问题,特意使用了事务日志的还原,觉得有必要写一个流程这样以后新程序员遇到问题的时候不至于手忙脚乱,下面就将具体流程写出来大家看一下,初学者看看就行了。

1.首先更新前的数据表

QQ截图20150401101906

可以看到第二个字段基本上为null。

2.更新及更新后的情况

QQ截图20150401101934QQ截图20150401101948

更新后由于没有where条件直接导致更新了表的所有记录行。

这个时候就是关键的时候首先这个时候不要慌乱做一些导致没法还原的错误操作等等,第一点冷静分析有没有数据备份。万幸的时候我们有良好的数据备份机制,每天定时执行自动的数据备份计划,而且是完整备份,那接下来就是如何处理这个问题。

3.第一步就是打开数据库备份事务日志,注意的是要切记事务日志的选项里面要选择备份至末尾,并使数据库处于还原状态。

QQ截图20150401104116QQ截图20150401104159

 

3.然后可以看到还原状态数据库的这样的标志,进行数据库事务还原

QQ截图20150401102128

QQ截图20150401102450

此处的要点是选择目标时间一定要选择错误操作的时间点之前的时间,而不是事务日志备份的时间以及完整备份的时间之后。

4.还原后查看数据表

QQ截图20150401101906

总算是能够回到之前的状态。谢天谢地

总结:

      在实际的环境中难免有误操作,甚至恶意的操作引起的种种数据库问题,这个时候就要提醒我们一定要建立好良好的备份机制,我的建议就是对于生产数据库进行定期的完整备份,当然为了尽量减少误操作和还原时间,在完整备份周期里面还可以加入事务日志备份来提高效率。除此之外,还有一点我这里没有体现也是很重要的一点对于生产数据库而言,进行事务日志还原的时候,一定要注意最好是采用将新建一个测试实例针对新的数据库实例进行数据还原然后根据还原事务日志的结果来还原正式数据库的数据表,这样做不仅可以对错误操作进行了修复同时也保证了其他表生产数据的完整性,最大限度的减少了错误可能的发生。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119754.html原文链接:https://javaforall.net

(0)
上一篇 2021年11月25日 上午7:00
下一篇 2021年11月25日 上午7:00


相关推荐

  • http://www.objectarx.net/forum.php?mod=forumdisplay&fid=18&page=2

    http://www.objectarx.net/forum.php?mod=forumdisplay&fid=18&page=2http://www.objectarx.net/forum.php?mod=forumdisplay&fid=18&page=2

    2022年7月4日
    20
  • 腾讯CMQ消息处理

    腾讯CMQ消息处理CMQ 延迟消息处理方式针对延迟消息的时间满足不了需求的情况 把用户冻结的过期时间进行处理 外链图片转存失败 源站可能有防盗链机制 建议将图片保存下来直接上传 img fus0lwTV 89 file C Users HP Documents WXWork 75751 Cache Image 2021 05 da635f0d8e31 png 用户的冻结时间未到期把消息进行重复投递回队列中 一直未过期就一

    2026年3月20日
    2
  • MIPS五级流水线_工业级CPU报价

    MIPS五级流水线_工业级CPU报价一、流水线CPU流水线CPU就是指将一条分解为多步,在同一周期内进行多条指令的同时执行。MIPS五级流水线就是将指令分为:取指(IF),译码(ID),执行(EX),访存(MEM),写回(WB)五个阶段。举个例子:比如第二条指令lui$t2,0x2100在流水线CPU中执行的就是可以看到在200-300ns的周期里,IF阶段取到0x00400004处的指令,300-400ns,这条指令到了ID阶段,而IF阶段执行下一条指令。400-500ns,执行这条指令,ALU的结果为0x2100

    2022年8月21日
    11
  • socket传输中文出现乱码的解决[通俗易懂]

    socket传输中文出现乱码的解决[通俗易懂]socket传输中文出现乱码的解决 (2013-04-1114:57:03)转载▼ 分类: 技术知识socket服务端和客户端编码方式不一致将有可出现中文乱码问题,因此两边设成一样的就可以了socket服务端发送数据时设置编码方式PrintWriteroutput=newPrintWriter(new

    2022年7月8日
    216
  • 一文看懂常用的梯度下降算法

    一文看懂常用的梯度下降算法作者 叶 nbsp nbsp 虎编辑 祝鑫泉一概述梯度下降算法 GradientDesc 是神经网络模型训练最常用的优化算法 对于深度学习模型 基本都是采用梯度下降算法来进行优化训练的 梯度下降算法背后的原理 目标函数关于参数的梯度将是目标函数上升最快的方向 对于最小化优化问题 只需要将参数沿着梯度相反的方向前进一个步长 就可以实现目标函数的

    2026年3月19日
    2
  • 取出字符串中数字的最大值

    取出字符串中数字的最大值取出字符串中数字的最大值

    2022年4月24日
    44

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号