SQLSERVER2012误删数据恢复过程

2023-11-05 10:40

本文主要是介绍SQLSERVER2012误删数据恢复过程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  由于长时间从事企业应用系统开发,前往用户现场升级、调试系统是比较常做的事情,但是就在周一,由于同事的失误在毫无知觉的情况下误删了生产数据库几乎所有的数据。当我发现的那一刻,感觉头发都立起来了,心想这他娘的是要领盒饭了。
  为了迅速恢复系统的使用,在当时的情况下立即关闭相关系统的访问入口,前后共花费不到五分钟。经过思考,立即将最近的一次备份文件进行还原,从而保证了系统的正常运行,但是此举也不可避免的可能会丢掉某些数据。

  另外事情已经发生,如何做才能为以后的数据恢复做准备呢,以下是自己的观点:

1、务必冷静,事情已经发生不可慌乱。

2、立即查看当前时间,最好能够精确到秒,并做记录。

3、应立即向直接上级反映此事,不可隐瞒,防止事态扩大。

4、如果权限允许,应当立即停止相关应用,防止有新的数据写入数据库。

  事后一直不放心,当下次再出现这种情况的时候,该如何对数据进行数据恢复,尽可能的减小损失呢(做不到完全避免损失),因此从网上查阅大量资料并进行整理。

  之前生产数据库使用的是sqlserver2000和2005,当时也出现过误删数据的情况,用Log Exlorer For SQL很轻松就恢复了数据,现在数据库升级到2012了这个工具无法使用了,因此只能采用其他办法,在此需要特别鸣谢CSDN一位大神的文章,网址:http://blog.csdn.net/dba_huangzj/article/details/8491327

  原文是SQLSERVER2008R2,本次试验环境是2012版本。根据文章中过程的介绍,进行了整个过程的操作,但是还是未能一遍完成,现在在自己的操作过程中进行总结,并分享。

在此构建一个新的数据库模拟数据恢复全过程。

1、构建新数据库以及写入一些数据


2、做一次完整备份,这个是前提,没有一份完整备份文件是无法进行接下来的操作的。

注意:如上图所示,恢复模式一定要说完整,如果是其他类型那恐怕就没有下文了。一般来讲新建数据库的时候,默认不要去改恢复模式这个属性。

3、写入一条新数据


4、删除数据,让悲剧重现,记住此时要记录时间点,在现实中往往会由于慌乱忘记记录,但是希望看了这个文章之后能够记住此事。


好既然悲剧已经发生,也有了心理准备和恢复前准备,此刻最好看一下系统时间。接下来就要演示如何进行数据恢复。 


5、做事务日志备份,做事务日志备份需要注意一下一点,如图所示

备份模式请选择事务日志,备份路径自行决定

 

进入选项,将可靠性第1、2勾选,事务日志选择第二个,压缩属性可以不选择.点击确定备份成功,此时数据库将显示为正在还原状态

注意:如果备份失败,请检查该数据库是否正在被占用,如果是请kill。

6、还原完整备份

数据库处于正在还原状态,右键数据库--任务--还原--文件和文件组,选择最近的一次完整备份。此时,需要在“选项”中选择第二种还原方式,具体如下图。

 

如上图,勾选完整数据备份文件。

如上图,恢复状态选择第二种,从字面意思就知道为什么要选择这种。

7、接着还原备份的事务日志

完整备份还原完毕,接着要对事务日志进行还原,右键数据库--任务--还原--事务日志,如下图:

还原事务日志的时候需要特别注意“时间点”这个设置,其他不需要设置。

时间点选择为误删数据的时间点之前就可以恢复出误删的数据,所以之前强调要查看一下时间。如下图所示



点击确定,在确定等待还原成功,数据库变成可用状态。此时后再查询,如下图:



如果查询发现数据不是你想要的,那么可以重复上述的操作,从备份事务日志开始,然后最后选择时间点的时候在缩小范围。

以上,完整的演示了个人在恢复数据过程中的总结。当然前提是允许这样干,当然大型电子商务系统、高并发系统应该不适用,肯定也不会出现误删数据的情况,都有对应的解决方案避免此类情况发生。

转载:

[原创]LOG EXPLORER FOR SQL SERVER 4.2 (一)    http://www.cnblogs.com/whitney/archive/2008/08/22/1273879.html

实战 SQL Server 2008 数据库误删除数据的恢复         http://www.cnblogs.com/dudu/archive/2011/10/15/sql_server_recover_deleted_records.html

高版本sqlserver恢复工具 ApexSQL Log,要收费,据说有破解版,淘宝有售     https://www.apexsql.com/sql_tools_log.aspx

转载于:https://www.cnblogs.com/tzy080112/p/6093071.html

这篇关于SQLSERVER2012误删数据恢复过程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/349297

相关文章

Java进程异常故障定位及排查过程

《Java进程异常故障定位及排查过程》:本文主要介绍Java进程异常故障定位及排查过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、故障发现与初步判断1. 监控系统告警2. 日志初步分析二、核心排查工具与步骤1. 进程状态检查2. CPU 飙升问题3. 内存

SpringBoot整合liteflow的详细过程

《SpringBoot整合liteflow的详细过程》:本文主要介绍SpringBoot整合liteflow的详细过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋...  liteflow 是什么? 能做什么?总之一句话:能帮你规范写代码逻辑 ,编排并解耦业务逻辑,代码

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

MySQL中的InnoDB单表访问过程

《MySQL中的InnoDB单表访问过程》:本文主要介绍MySQL中的InnoDB单表访问过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、访问类型【1】const【2】ref【3】ref_or_null【4】range【5】index【6】

浏览器插件cursor实现自动注册、续杯的详细过程

《浏览器插件cursor实现自动注册、续杯的详细过程》Cursor简易注册助手脚本通过自动化邮箱填写和验证码获取流程,大大简化了Cursor的注册过程,它不仅提高了注册效率,还通过友好的用户界面和详细... 目录前言功能概述使用方法安装脚本使用流程邮箱输入页面验证码页面实战演示技术实现核心功能实现1. 随机

Navicat数据表的数据添加,删除及使用sql完成数据的添加过程

《Navicat数据表的数据添加,删除及使用sql完成数据的添加过程》:本文主要介绍Navicat数据表的数据添加,删除及使用sql完成数据的添加过程,具有很好的参考价值,希望对大家有所帮助,如有... 目录Navicat数据表数据添加,删除及使用sql完成数据添加选中操作的表则出现如下界面,查看左下角从左

CSS3打造的现代交互式登录界面详细实现过程

《CSS3打造的现代交互式登录界面详细实现过程》本文介绍CSS3和jQuery在登录界面设计中的应用,涵盖动画、选择器、自定义字体及盒模型技术,提升界面美观与交互性,同时优化性能和可访问性,感兴趣的朋... 目录1. css3用户登录界面设计概述1.1 用户界面设计的重要性1.2 CSS3的新特性与优势1.

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

MySQL存储过程之循环遍历查询的结果集详解

《MySQL存储过程之循环遍历查询的结果集详解》:本文主要介绍MySQL存储过程之循环遍历查询的结果集,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言1. 表结构2. 存储过程3. 关于存储过程的SQL补充总结前言近来碰到这样一个问题:在生产上导入的数据发现

SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程

《SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程》LiteFlow是一款专注于逻辑驱动流程编排的轻量级框架,它以组件化方式快速构建和执行业务流程,有效解耦复杂业务逻辑,下面给大... 目录一、基础概念1.1 组件(Component)1.2 规则(Rule)1.3 上下文(Conte