`
icheng
  • 浏览: 828911 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
文章分类
社区版块
存档分类
最新评论

SQL Server 2008 数据库误删除数据的恢复

 
阅读更多

关键字:SQL Server 2008, recover deleted records

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

SQL Server中误删除数据的恢复本来不是件难事,从事务日志恢复即可。但是,这个恢复需要有两个前提条件:

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

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

针对这两个前提条件,会有三种情况:

情况一、如果这两个前提条件都存在,通过SQL语句只需三步就能恢复(参考文章),无法借助第三方工具。

  a) 备份当前数据库的事务日志:BACKUP LOG [数据库名] TO disk= N'备份文件名' WITH NORECOVERY

  b) 恢复一个误删除之前的完全备份:RESTORE DATABASE [数据库名] FROM DISK = N'完全备份文件名' WITH NORECOVERY, REPLACE

  c) 将数据库恢复至误删除之前的时间点:RESTORE LOG [数据库] FROM DISK = N'第一步的日志备份文件名' WITH STOPAT = N'误删除之前的时间点' , RECOVERY

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

情况三、如果第2个前提条件不存在,无法恢复。所以,一定要将数据库恢复模式设置为“完整(Full)”。

我现在面临的是第二种情况,需要找第三方工具。

开始找的是Log Explorer for SQL Server,不支持SQL Server 2008。

后来找的是SQL Log Rescue,也不支持SQL Server 2008。

接着找到的是SysTools SQL Recovery,支持SQL Server 2008,但需要购买,Demo版并没有数据恢复功能。

最终在officerecovery.com上找到Recovery for SQL Server,虽然也是商业软件,需要购买,但Demo版可以恢复数据,只要数据库文件不超过24Gb。幸好朋友的数据库文件不大,用它完成了误删除数据的恢复。

下面分享一下用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, 然后就完成数据的恢复!

接下来,就是庆祝胜利!庆祝胜利最好的方式就是写一篇博客!

分享到:
评论

相关推荐

    sqlserver2012及以下版本误删除数据还原

    sqlserver2012及以下版本误删除数据还原 2012版本亲测可用。 2016版本会出现无法连接实例的情况。不清楚是我本地环境问题还是此2014版本软件无法支持sql 2016 后续如果有出新版本,再重新上传

    SQL Server2008 数据库误删除数据的恢复方法分享

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

    SqlServer无备份下误删数据恢复工具

    SqlServer无备份下误删数据恢复 SqlServer 数据恢复 数据恢复工具 SqlServer2012之前版本

    SQLserver日志恢复工具 v1.0.zip

    SQLserver日志恢复工具适用版本SQL2005或SQL2008版本,用于查看日志和恢复误删除数据,针对误删除MSSQL数据行的恢复。主要针对deletefrom 语句。 SQLserver日志恢复工具具体使用简介: 程序功能:找回误删除的数据...

    SQL Server 2008数据库误删数据如何进行数据恢复

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

    SqlMDF数据提取工具

    6、、系统崩溃只剩下Sqlserver数据文件的情况下的恢复,即无日志文件或者日志文件损坏情况下的恢复。 7、SqlServer数据文件内部存在坏页情况下的恢复。 8、在Sql Server运行在简单日志模式、完全日志模式或者大容量...

    sqlserver数据库恢复工具

    ApexSQL Log 2018是一款实用的sql数据库误操作恢复工具,之前小编为大家提供过ApexSQL Log 2016版本的下载,这个版本增加了对sql2008,sql2012以及2018版本的支持,支持对数据进行审计,查看操作日志,以及查看完整...

    SQL Server误操作恢复.rar

    最高支持到SQLSERVER2014的误删除数据恢复,包括删除数据表之类的操作,简单日志的也可以恢复,是一款比较实用的数据库工具

    恢复SQLSERVER被误删除数据.doc

    在数据库没有备份的情况下,对数据进行误删除,如何进行数据恢复的demo

    误删除数据,怎么恢复或回滚RDS数据库?

    sql server 恢复mssql备份或者恢复到时间点 恢复到一个临时数据库,可作为临时验证使用 登录临时数据库 pg 恢复备份或者恢复到时间点 把本地备份恢复到云上 ppas或oracle 恢复备份或者恢复到时间点 mariadb 恢复...

    SQL数据库碎片恢复

    支持全部版本的SQL数据库恢复,专门针对 数据库误删除,所在分区被误格式化,数据库0字节开发。

    成功恢复删除LOG文件后的数据库操作全部步骤--自已亲身经历

    成功恢复删除LOG文件后的数据库操作全部步骤--自已亲身经历,绝对可用有效。数据库日志文件有救了,再也不用担心数据库日志问题了。

    sql server数据库还原到任意时间点(适用新手学习)

    对于许多新手来说,如果不小心对数据库进行误操作,往往会感觉到仿佛天塌下来一样。如果在日常工作出现这样的情况,绝对不能慌张,要静下心下来寻找问题的解决办法,不能病急乱投医,胡乱操作。如果有数据管理员,...

    SQL SERVER数据恢复软件

    SQL SERVER数据恢复工具软件,可以根据SQL生成的日志来恢复误删除的数据。包括软件和破解码。

    SQL数据恢复工具.rar

    1.支持的SQL数据库版本更全:在功能上几乎支持所有的Microsoft SQL Server版本,如: 7.0、2000、2005、2008、2008R2、2012、2....4.SQL数据库碎片级恢复:支持SQL数据库文件被误删除、格式化分区、重装系统等导致的数据库.

    SQL误删除恢复,介绍几种方法与软件的使用比较

    首先说第一个Log Explorer,第一个可能很多人都用过,我下载下来马上连上数据库,点view log,发现了很多条操作记录,不过不管怎么调,那日志的时间都是6月12日到6月16日,我不知道我的数据库日志为什么只从6...

    LogExplorer4.2 for SqlServer2005 数据恢复工具

    LogExplorer4.2 for SqlServer2005 数据恢复工具 可根据日志文件进行数据恢复工作,可恢复误删除的数据,只要日志文件还在, 里面附加了使用说明

Global site tag (gtag.js) - Google Analytics