ONLY三行脚本 SQL数据恢复到指定时间点
经常看到有人误删数据,或者误操作,特别是Update和Delete的时候没有加WHERE ... 然后就喊爹喊娘了,怕是亲爹妈也无奈摇肩。
话说,如果没有犯过错误,那你还算是程序猿(媛)麽?!没了偶尔的心跳,注定一辈子的孤独啊,哈哈哈....
OK,书归正传,分享一下我的激情一刻,与诸君共勉,欢迎吐槽,多多沟通。
误删除或误操作,特别是UPDATE和DELETE遇到这种情况,一般都是没有做备份,或者备份不及时(比如,当时我公司的数据,当时在25号误操作数据,update了4万条数据,组长也然在19号做了备份,万幸万幸哦!),不然也不会来发问了。首先要淡定,否则可能会有更大的麻烦。
不过,不用担心,现在就告诉你,三行sql脚本,数据恢复到指定的时间。客官,请上眼...
首先,你要确定的是你数据恢复模式是哪一种。具体方法:选择操作的数据库,“属性”——》“选项”——》“恢复模式”,是否选择的是“完整”。
确保在误操作之前存在一个全库备份(或已有多个差异备份或增量备份),首先要做的事就是进进行一次日志备份(如果为了不让日志文件变大而置trunc. log on chkpt.选项为1那你就死翘了)
backup database Demo to disk='D:\db.bak'
确保数据库的恢复模式最起码不能为【简单】。至于如何修改成完整模式,这个应该没必要多说了。
hvxm%24xe.jpeg)
或者使用脚本检查:
select recovery_model,recovery_model_desc
from sys.databases
where name ='AdventureWorks'
然后,要确保别人不再链接数据库 ,然后做一次日志尾部备份
看下这段剁手都来不及的脚本吧 ...
UPDATE Person SET Gender='女'




如果,这是张客户表或者订单之类,真的要呵呵了~~
当然,我相信咱们都是无心之举,无论如何,淡定,淡定,相信我,这个时候,老板是不会炒了你的,但是,你抓鸡也是要赶紧找回丢失的数据。
ONLY三行脚本, SQL数据恢复到指定时间点
--1、 首先,备份事务日志(还原日志必须在 还原完全备份的基础上进行。而使用事务日志才能还原到指定的时间点)
BACKUP LOG Demo TO disk='D:\\db_log.bak' WITH FORMAT


ps, 操作这些脚本的时候 ,建议是在master 数据库下进行,很好, 解决数据恢复喽
After All:
平时不做备份,出了问题就抓鸡!如果你的公司是这样,建议你头也不回的离去,一个对数据不重视的公司,你留着有何意义。
但是,任谁也避免不了工作中的一些失误,关键是咱们解决问题的能力。但作为久经沙场的战友们,此时,不是要你想到多少种方案解决,你的朋友圈有多少酒友可以求助,有多路大神求支援 ...
你只需做两件事:1、30秒认真想想你前后都做了哪些操作;
2、15秒内向你的直属领导如实汇报。
这种方法有几个缺点(此处杜撰被人,也然找不到作者何人):
1、如果你发现误操作以后还有很多人做了操作,那么你还原成功后,别人的操作就会冲掉,所以发生误操作后,要马上停止别人对数据库的操作。
2、这个方法要对数据库独占,所以你想偷偷恢复是不行的了。勇敢承认错误吧。
对于核心数据表,还是要先做好预防操作。
ONLY三行脚本 SQL数据恢复到指定时间点的更多相关文章
- Sql server 查询指定时间区间工作日数、休息日数等日期操作
1.查询指定时间区间的工作日 这个主要难点是法定节假日,国家的法定节假日每年都不一样,还涉及到调休,所以我们设计一个假日表.主要字段有年份,类型(是否调休),假期日期.如下: CREATE TABLE ...
- Elasticsearch-shell脚本实现定时删除指定时间以前索引
〇.前言 因为elastiflow的数据量还是挺大的,接入了两台交换机的flow数据量已经开始有点大了.所以得写个脚本专门来清理索引 一.如何使用elastic的API 1.手动查询所有索引 在ELK ...
- sql server还原到指定时间
BACKUP LOG yjxy_1010 TO DISK='d:\yixy_log.bak' WITH FORMAT 数据库右击->任务->还原->还原事务日志.
- 【RMAN】使用RMAN备份将数据库不完全恢复到指定时间点
RMAN作为Oracle强大的备份恢复工具,可以协助我们恢复数据库到指定时间点,这便是Oracle不完全恢复的一种体现,通过这种方法可以找回我们曾经丢失的数据.这里以找回误TRUNCATE表数据为例给 ...
- SQL Server 数据恢复到指点时间点(完整恢复)
SQL Server 数据恢复到指点时间点(完整恢复) 高文龙关注2人评论944人阅读2017-03-20 12:57:12 SQL Server 数据恢复到指点时间点(完整恢复) 说到数据库恢复,其 ...
- SQL Server 获取最后一天(指定时间的月最后一天日期)
/* author OceanHo @ 2015-10-23 10:14:21 获取指定时间字符串指定日期的月最后一天日期 */ IF OBJECT_ID('get_LastDayDate') IS ...
- sql语句延时执行或者是指定时间执行
--使用waitfor语句延迟或暂停程序的执行 --waitfor{delay'time'|time 'time'} delay是指间隔时间 最长到24小时 time是指定时间执行 waitfor d ...
- sql语句中日期时间格式化查询
今天在做会员管理系统搜索时,我发现以前的搜索时间方式不太科学,效率也不是太高.由其是在查询指定的时间相等的时候,我在数据库中都存这样的时间格式"2007-5-22 14:32:1 ...
- SQL Server 日期和时间类型
在Microsoft SQL Server的类型系统中,使用 date 表示日期类型,使用time表示时间类型,使用DateTime和DateTime2表示日期和时间的组合,DateTime2是Dat ...
随机推荐
- CSS3实战开发:使用CSS3实现photoshop的过滤效果
原文:CSS3实战开发:使用CSS3实现photoshop的过滤效果 我们知道,使用Photoshop来调整图像的亮度和对比度,或者将图片转化为灰度等等是很常见的功能.今天我将给大家介绍几个新特性,我 ...
- Python 2.7.3 urllib2.urlopen 获取网页出现乱码解决方案
出现乱码的原因是,网页服务端有bug,它硬性使用使用某种特定的编码方案,而并没有按照客户端的请求头的编码要求来发送编码. 解决方案:使用chardet来猜测网页编码. 1.去chardet官网下载ch ...
- flash导入图片缩放后出现毛边、失真、锯齿、文字模糊不清晰的情况
原因: 1.flash的性能非常差,这就不得不让它做大量的优化. 2.图片缩放,目前业界有多种算法,画质越好的算法,计算量越大. 3.flash优化了图片缩放,使用了质量非常低的缩放算法.这个做法,保 ...
- Ajax.ActionLink 用法
Ajax.ActionLink 用法 Ajax 属性的ActionLink方法可以创建一个具有异步行为的锚标签. ActionLink方法的第一个参数指定了链接文本,第二个参数是要异步调用的操作的名称 ...
- ReSharper 8.1支持Visual Studio 2013的特色——超强滚动条
自ReSharper 8.1发布以来,便支持Visual Studio 2013.其中peek功能是它的亮点,滚动条则是它的特色. 接下来小编将展示ReSharper在Visual Studio 20 ...
- Plugin For KanColleViewer – Provissy Tools V1.0
これはKanColleViewerためのプラグインです,KanColleViewerの機能を拡張する. #介绍 / Introduction / 紹介这是一个KanColleViewer(俗称”提督很 ...
- Git 和 Github的关系
惭愧,这个问题到昨天才弄明白! Git 其实是一种版本控制的协议,和SVN/CVS类似,git协议定义了一个版本控制相关的各个操作,和SVN/CVS不同的是,git采用的是分布式的方法,并不需要服务器 ...
- 基于A2DFramework的事件机制实现
随笔- 102 文章- 3 评论- 476 发布订阅 - 基于A2DFramework的事件机制实现 SUMMARY 能做什么 DEMO 原理图 应用场景 能做什么 A2DFramework ...
- boost------signals2的使用2(Boost程序库完全开发指南)读书笔记
1.应用于观察者模式 本小节将使用signals2开发一个完整的观察者模式示例程序,用来演示信号/插槽的用法.这个程序将模拟一个日常生活场景:客人按门铃,门铃响,护士开门,婴儿哭闹. Ring.h: ...
- 获得WCF Client端的本地端口
获得WCF Client端的本地端口 最近需要做个小功能,当WCF调用远程服务时,显示该调用的网速或流量.其中比较关键的一步就是需要获得WCF Client端的本地端口,原来以为是个简单的事情,结果 ...