前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >事务日志还原的次意外的操作失误

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

作者头像
用户1217611
发布2018-01-30 14:59:42
9150
发布2018-01-30 14:59:42
举报
文章被收录于专栏:文渊之博

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

1.首先更新前的数据表

QQ截图20150401101906
QQ截图20150401101906

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

2.更新及更新后的情况

QQ截图20150401101934
QQ截图20150401101934
QQ截图20150401101948
QQ截图20150401101948

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

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

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

QQ截图20150401104116
QQ截图20150401104116
QQ截图20150401104159
QQ截图20150401104159

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

QQ截图20150401102128
QQ截图20150401102128
QQ截图20150401102450
QQ截图20150401102450

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

4.还原后查看数据表

QQ截图20150401101906
QQ截图20150401101906

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

总结:

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015-04-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库备份服务
数据库备份服务(Database Backup Service,简称 DBS)是为用户提供连续数据保护、低成本的备份服务。数据库备份拥有一套完整的数据备份和数据恢复解决方案,具备实时增量备份以及快速的数据恢复能力,它可以为多种部署形态的数据库提供强有力的保护,包括企业 IDC 数据中心、其他云厂商数据库及腾讯公有云数据库。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档