前言

在平时大家用到SQL Server的时候很多,也经常会对其进行各种操作,简单的数据查询或添加还没什么问题,顶多就是添加错误直接删除就可以了,但如果你操作的是重要的数据库,而且库中有着重要的数据,更甚至你还进行了update、delete操作,那该怎么办呢?

小编犯的错误也是不可饶恕的,一句忘记加where条件的update一执行,把一千多条重要数据作废了,小编还真是吓了个不轻,还好花费了些时间补救了。只是通过各路搜寻,小编没有找到update后的恢复办法,却找到一个delete的,这也是很宝贵的,宝贵的东西最好的办法就是记录下来~~~

解决方案

SQL Server中误删除数据的恢复需要有两个前提条件:

      1. 至少有一个误删除之前的数据库完全备份。

      2. 数据库的恢复模式(Recovery mode)是“完整(Full)”。

那么问题来了,如何查看数据库的恢复模式呢?


     查看或更改数据库恢复模式

1.连接到相应的 SQL Server 数据库引擎实例之后,展开“数据库”;

2.右键单击所要进行操作的数据库,再选择“属性”,打开“数据库属性”对话框;

3.在“选择页”窗格中,单击“选项”;

4.当前恢复模式显示在“恢复模式”列表框中;

5.在列表中就可以选择不同的模式来更改恢复模式啦~~~

在这里:


    详述

继续说如何解决delete的问题。针对前面所说的两个前提条件,会有三种情况:

情况一、如果这两个前提条件都存在,那就好说啦!

    这个就很简单了,直接把现在已经错误的数据库删掉,将之前备份好的数据库还原即可,省时省力。

情况二、如果第1个前提条件不存在,第2个前提条件存在,需要借助第三方工具。

情况三、如果第2个前提条件不存在,那就真的是无法恢复了。

所以,一定要将数据库恢复模式设置为“完整(Full)”。

第三方工具恢复

根据搜索的情况看,第三方工具有多种,比如:Log Explorer for SQL Server、SQL Log Rescue 、SysTools SQL Recovery 、Recovery for SQL Server ;但前两种不支持SQL Server 2008;第三种支持,但需要购买,Demo版没有数据恢复功能;而Recovery for SQL Server,虽然也是商业软件,需要购买,但Demo版可以恢复数据,只要数据库文件不超过24Gb。

Recovery for SQL Server操作

用Recovery for SQL Server进行恢复的操作步骤:

1.运行Recovery for SQL Server

2.点击菜单中的 File > Recover,选择要恢复的数据库的数据文件(.mdf)

3. Next > Next,进入 Recovery Configuration 界面,选择Custom(选择了Custom才可以选择从日志中恢复误删除的数据)。

4. Next 进入 Recovery options 窗口,选中 Search for deleted records,并选择要恢复的数据库的日志文件路径(log file path)。

5. Next 并选择目标文件夹(Destination folder),用于存放恢复过程中生成的SQL语句与bat文件。

6. 点击Start,开始恢复操作(在上一步选择的目标文件夹中生成相应的SQL文件与Bat文件),然后,出现 SQL Server Database Creation Utility 窗口。

7. Next,选择被恢复数据存放的目标数据库。

8. Next, 选择 Import availiable data from both database and log files

9. Next, Next, 然后就完成数据的恢复!

只是这个方案还是有些瑕疵的,通过搜索,这个方案确实是可以恢复数据的,只是恢复之后的数据变成了DEMO型,还需要大家手动稍作修改。

由于本方案是针对SQL Server 2008来解决的,小编的SQL Swrver为2012版本,所以以上过程小编没有实战,还期待大家谁有机会尝试了告知小编哦!

总结

通过这次小编着实是长记性了,数据库一定要多做备份,常做备份;而且还是不要轻易拿含有重要数据的库来进行操作,有个测试库最好了。大家也就吸取小编的经验教训,认真对待数据库,数据无价,容不得失误!

所以,做为程序员,做数据调试的时候,必须要先备份数据库!

SQL Server 2008 误删除数据的恢复相关推荐

  1. php删除sql server 2008,MSSQL_SQL Server2008 数据库误删除数据的恢复方法分享,SQL Server中误删除数据的恢复本 - phpStudy...

    SQL Server2008 数据库误删除数据的恢复方法分享 SQL Server中误删除数据的恢复本来不是件难事,从事务日志恢复即可.但是,这个恢复需要有两个前提条件: 1. 至少有一个误删除之前的 ...

  2. SQL SERVER 2008 误删数据且无全备恢复方法

    原文:http://www.jb51.net/article/84932.htm SQL Server中误删除数据的恢复本来不是件难事,从事务日志恢复即可.但是,这个恢复需要有两个前提条件: 1. 至 ...

  3. 服务器删除了数据库 怎么恢复数据库文件夹,SQL Server2008 数据库误删除数据的恢复方法分享...

    SQL Server中误删除数据的恢复本来不是件难事,从事务日志恢复即可.但是,这个恢复需要有两个前提条件: 1. 至少有一个误删除之前的数据库完全备份. 2. 数据库的恢复模式(Recovery m ...

  4. SQL Server2008 数据库误删除数据的恢复方法分享[转]

    SQL Server中误删除数据的恢复本来不是件难事,从事务日志恢复即可.但是,这个恢复需要有两个前提条件: 1. 至少有一个误删除之前的数据库完全备份. 2. 数据库的恢复模式(Recovery m ...

  5. SQL Server 2008行数据和页数据压缩解密

    SQL Server的性能主要取决于磁盘I/O效率,提高I/O效率某种程序上就意味着提高性能.SQL Server 2008提供了数据压缩功能来提高磁盘I/O. 数据压缩意味着减小数据的有磁盘占用量, ...

  6. SQL Server 2008将数据导出为脚本 [SQL Server]

    之前我们要将一个表中的数据导出为脚本,那么只有在网上找一个导出数据的Script,然后运行就可以导出数据脚本了.现在在SQL Server 2008的Management Studio中增加了一个新特 ...

  7. SQL Server 2008将数据导出到SQL脚本文件

    1. 简介 在SQL Server Management Studio 2005 中(包括之前SQL Server 2000 的企业管理器),只能把表结构导出到SQL脚本文件中,没办法把数据导出到SQ ...

  8. SQL Server 2008分区表数据归档

    分区表中的历史数据进行归档,主要涉及以下5个步骤,代码中的tbl_source为分区表,staging_work为归档工作表 创建归档表 归档表需要与源表结构保持一致,具有相同的索引 归档表与源表位于 ...

  9. [转]实战 SQL Server 2008 数据库误删除数据的恢复

    实战 SQL Server 2008 数据库误删除数据的恢复 关键字:SQL Server 2008, recover deleted records 今天有个朋友很着急地打电话给我,他用delete ...

  10. 实战 SQL Server 2008 数据库误删除数据的恢复 (转)

    今天有个朋友很着急地打电话给我,他用delete语句误删除了SQL Server 2008数据库中两个表中的所有记录,而这个数据库之前没有任何备份.让我帮他解决一下,不然他要赔偿客户很多钱. SQL ...

最新文章

  1. JAVA继承心得体会及建议_Java继承总结
  2. 同步阻塞处理的几种方法
  3. 02.字符串常量池 ? class常量池? 运行时常量池?
  4. QQ 相册后台存储架构重构与跨 IDC 容灾实践
  5. 《象与骑象人》总结一
  6. Spring MVC架构流程(请求处理流程)
  7. mac 下启动Android Studio 时出现 Android Studio was unable to find a valid Jvm
  8. Microsoft Expression Blend Preview for Silverlight 5新版发布
  9. 配置管理-SVN使用指南-Linux
  10. lvs+keepalived实现lvs nat模式热备配置
  11. php jwplayer mp4,jwplayer6 和 php播放视频
  12. Spring boot 集成 Redis Scarch
  13. 软件工程(2018)结对编程第2次作业
  14. WebApi-05 (三大家族及轮播图案例分享)
  15. N-gram模型详解
  16. 教你用手机NFC模拟加密门禁卡-不用电脑,无需ROOT
  17. linux投影手机,linux连接投影机方法介绍
  18. DRM系列(1)之DUMB BUFFER
  19. 网站外链建设:论坛签名外链还值得做吗?
  20. java getclass()函数

热门文章

  1. SWI-Prolog的下载与使用
  2. Logstash 时间转换(YYYY-MM-dd HH:mm:ss转Unix时间)
  3. 黑马程序员:一些简单的设计模式
  4. 为语音社交平台加一个防护罩,即构上线实时语音安全方案
  5. 腾讯云重装和还原操作系统
  6. Elasticsearch教程(19) 详解mapping之keyword
  7. 竞赛|阿里巴巴全球调度算法大赛
  8. 新国标电动车怎么选?绿源INNO7了解一下吧
  9. Java中关于创建文件,Java实现 PDF、Word、Excel、Html、XML互转及与图片互相转化、图片像素调节,待更新整理中
  10. Boxy SVG for Mac(矢量图编辑器)