经常看到有人误删数据,或者误操作,特别是Update和Delete的时候没有加WHERE ... 然后就喊爹喊娘了,怕是亲爹妈也无奈摇肩。

话说,如果没有犯过错误,那你还算是搞程序的吗?!没了偶尔的心跳,注定一辈子的孤独啊,哈哈哈....

OK,书归正传,要分享一下我的当时的处理方案,与诸君共勉,欢迎吐槽,多多沟通。

遇到这种情况,一般都是没有做备份,或者备份不及时(比如,当时我公司的数据,就没有做实时备份,不过还好的是我25号数据误操作,组长也然在19号做了备份,万幸万幸哦!),不然也不会来发问了。首先要淡定,否则会有更大的麻烦。

不过,不用担心,现在就告诉你,三行sql脚本,数据恢复到指定的时间。客官,请上眼..

首先,你要确定的是你数据恢复模式是哪一种。具体方法:选择操作的数据库,“属性”——》“选项”——》“恢复模式”,是否选择的是“完整”。

确保在误操作之前存在一个全库备份(或已有多个差异备份或增量备份),首先要做的事就是进进行一次日志备份(如果为了不让日志文件变大而置trunc. log on chkpt.选项为1那你就死翘了)

backup database Demo to disk='D:\db.bak'

确保数据库的恢复模式最起码不能为【简单】。至于如何修改成完整模式,这个应该没必要多说了。

或者使用脚本检查:

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

--2、接下来,我们要先还原完全备份(还原日志必须在还原完全备份的基础上进行)

RESTORE DATABASE Db FROM DISK='c:\db.bak' WITH REPLACE,NORECOVERY

3、将事务日志还原到删除操作前(这里的时间对应上面的删除时间,并比删除时间略早

RESTORE LOG Db FROM DISK='c:\db_log.bak' WITH RECOVERY,STOPAT=''     --获取比表被删除的时间略早的时间

如果发现备份不了可以用下面语句查看,并把spid杀掉:

SELECT  * FROM sys.sysprocesses WHERE dbid=DB_ID('Demo')

--查询一下,看表是否恢复

SELECT * FROM Demo.Person

ps,  操作这些脚本的时候 ,建议是在master 数据库下进行,很好, 解决数据恢复喽

After All:

平时不做备份,出了问题就抓鸡,这也是你们咎由自取!如果你的公司是这样,建议你赶紧离去,一个对数据不重视的公司,你留着有何意义。

但是,任谁也避免不了工作中的一些失误,关键是咱们解决问题的能力。但作为久经沙场的战友们,此时,不是要你想到多少种方案解决,你的朋友圈有多少酒友可以求助,有多路大神求支援 ...

你只需做两件事:1、30秒认真想想你前后都做了哪些操作;

2、15秒内向你的直属领导如实汇报。

这种方法有几个缺点(此处杜撰被人,也然找不到作者何人):

1、如果你发现误操作以后还有很多人做了操作,那么你还原成功后,别人的操作就会冲掉,所以发生误操作后,要马上停止别人对数据库的操作。

2、这个方法要对数据库独占,所以你想偷偷恢复是不行的了。勇敢承认错误吧。

对于核心数据表,还是要先做好预防操作。

转载自:http://www.cnblogs.com/fuguoliang/p/4642004.html

转载于:https://blog.51cto.com/icityfree/1673727

ONLY三行脚本, SQL数据恢复到指定时间点相关推荐

  1. Sql server 查询指定时间区间工作日数、休息日数等日期操作

    1.查询指定时间区间的工作日 这个主要难点是法定节假日,国家的法定节假日每年都不一样,还涉及到调休,所以我们设计一个假日表.主要字段有年份,类型(是否调休),假期日期.如下: CREATE TABLE ...

  2. 截取tomat指定时间的脚本

    截取tomat指定时间的脚本 上次做的脚本,在截取指定时间的tomcat日志脚本有一些问题,在日志报错的时候会变成非标准行(对标准的nginx应该适用,nginx配置文件中有其格式).例如下面所示: ...

  3. oracle指定过个时间点 job_SQL SERVER 快速恢复:生成指定时间点的恢复脚本

    SET NOCOUNT ON DECLARE @db_name sysname, /*需要恢复的数据库名称*/@restore_db_name sysname, /*还原后的数据库名称*/@recov ...

  4. server sql 本月最后一天_SQL Server 获取最后一天(指定时间的月最后一天日期)...

    /* author OceanHo @ 2015-10-23 10:14:21 获取指定时间字符串指定日期的月最后一天日期 */ IF OBJECT_ID('get_LastDayDate') IS ...

  5. Mysql主从异常 表被回滚_oracle表回滚到一个指定时间的操作语句 oracle 误删除数据恢复...

    -- 1. 添加恢复功能. alter table 表名 enable row movement; -- 2. 查看恢复记录 select * from 表名 as of timestamp to_t ...

  6. linux让脚本在指定时间运行程序,如何限制Linux命令程序运行的时间

    1. 前言 本文主要讲解如何限制Linux命令程序运行的时间. Linux提供了大量的命令,每个命令都是唯一的,并且在特定的情况下使用.Linux的目标是帮助您尽可能地高效工作.Linux命令的一个属 ...

  7. sql语句延时执行或者是指定时间执行

    --使用waitfor语句延迟或暂停程序的执行 --waitfor{delay'time'|time 'time'} delay是指间隔时间 最长到24小时 time是指定时间执行 waitfor d ...

  8. DB2数据库指定时间点恢复案例

    公司一生产环境AIX主机上的DB2数据库,由于开发人员的误操作,造成一个重要表的被删除,需要进行恢复.为了安全,不能在生产环境的数据库上进行操作,需要放到测试环境进行恢复. 问了一下开发人员,表被删除 ...

  9. pgsql sql中获取当前时间_PostgreSQL 如何获取当前日期时间及注意事项

    在开发数据库应用或者调试代码时,经常需要获取系统的当前日期和时间,我们来看一下 PostgreSQL 中提供的相关函数. 当前日期 CURRENT_DATE CURRENT_DATE 函数用于获取数据 ...

最新文章

  1. 学习RPG Maker MZ开发创建并发布PC和移动端游戏
  2. Oracle Database基础
  3. 手游运营重度化,抓好论坛专区“预热战场”
  4. BigDecimal.setScale 处理java小数点
  5. 完整的JS表单验证封装类
  6. cogs2840. 二叉查找树
  7. replace使用案例--替换空格
  8. boost context上下文切换
  9. VB 游戏外挂操作类
  10. android studio gradle 打jar 包 (混淆+第三方库包)
  11. Python爬取网易云音乐热歌榜(爬虫)
  12. BMP格式详解<转>
  13. 中金人工智能报告:AI时代,10 年之后我们还能干什么?|71页完整报告
  14. 找零钱问题刨析(Python代码)
  15. 大锤老湿教您如何配置TP-Link路由器组建wifi上网
  16. TFN F7 光时域反射仪 给您不一样体验
  17. 21年1.9c#halcon机器视觉软件系统框架源码visi onpro
  18. 怎么主动发起话题_怎么跟喜欢的人聊天找话题?这8个技巧让你侃侃而谈
  19. Windows 系统文件夹目录挂载到 Linux服务器中
  20. 百囚徒问题(100 prisoners problem)最佳策略Python代码实现(带详细注释)

热门文章

  1. react-native学习路线总结
  2. JavaScript基本资料
  3. Intel汇编语言程序设计学习笔记1
  4. 解决“The executable was signed with invalid entitlements.”问题
  5. 作业2结对(升级版)
  6. centos 7 源码方式安装mysql5.6
  7. 分布式应用CAP理论
  8. Kafka万亿级消息实战干货~持续更新中
  9. mysql 查看数据库字段是否存在,mysql查询某张表是否存在某个字段和判断是否存在某个表名...
  10. java url 短链接_推荐几个官方腾讯短链接url接口(含PHP演示代码)