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

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

前几天新发布的一套程序发生了一次意外的操作失误,程序员修改某个表的指定范围的指定字段的时候,误操作导致更新操作没有执行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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Pycharm激活码_pycharm激活码2021

    Pycharm激活码_pycharm激活码2021激活成功教程激活法关于激活成功教程激活,很多时候输入注册码就显示过期了,很多原因是没有修改host,很简单并且只需要几分钟。方法如下:1、将“0.0.0.0account.jetbrains.com”中的内容添加到hosts文件中,hosts路径为:C:\Windows\System32\drivers\etc请注意:不需要加#2、打开http://idea.lanyus.com/,点击激…

    2022年8月27日
    11
  • quicktime player屏幕录制_电脑自带录屏怎么使用

    quicktime player屏幕录制_电脑自带录屏怎么使用Mac电脑用自带软件QuickTimePlayer进行录屏的教程,几步就可以学会,挺简单的。  1、首先,找到并打开QuickTimePlayer软件。可以鼠标右键这个图标,选择“选项”-“在程序坞中保留”,这样,软件就固定在了Dock栏,方便以后打开软件。  2、启动软件后,屏幕顶部左上角出现“QuickTimePlayer”栏目。  3、这时,我们点击屏幕左上角“QuickTimePlayer”栏目右边的“文件”选项,选择“新建屏幕录制”菜单项。  4、这时,屏…

    2022年9月13日
    3
  • SpringBoot源码学习(更新中)

    SpringBoot源码学习(更新中)SpringBoot源码学习(更新中)

    2022年6月11日
    20
  • Servlet再度学习

    Servlet再度学习

    2020年11月12日
    172
  • PostgreSQL-模糊查询

    PostgreSQL-模糊查询!/bin/bash1模糊查询时,大多数情况下首先想到的是like‘%关键字%’或基于gin索引的正则表达式,gin至少需要三个字符才会使用索引,对于汉语来说十分不方便;2在海量数据的情况下,基于like和gin索引的正则表达式均不理想时,一般采用分词后进行查询.3分词存在两个弊端3.1词库的维护是比较繁重的工作.当词库中没有的关键词会导致查询结果不正确.3.2历史数据的维护工作不好处理

    2022年5月7日
    43
  • Python如何将字符串分割成单个字符,并形成一个list?

    Python如何将字符串分割成单个字符,并形成一个list?一个字符串可以看做是一个list具体操作如下>>>a="这是一段话">>>a[0]’这’>>>list(a)[‘这’,’是’,’一’,’段’,’话’]>>>forxina: print(x) 这是一段话>>>所以

    2022年5月10日
    40

发表回复

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

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