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

今天有个朋友很着急地打电话给我,他用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, 然后就完成数据的恢复!

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

转载于:https://www.cnblogs.com/qanholas/archive/2012/08/28/2659682.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/474973.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在线销售数据分析–人货场三维分析角度

文章目录一、数据来源及理解二、分析思路三、数据处理数据预处理数据清洗数据转换四、数据描述性统计五、三维分析-人用户质量分析用户类别分析DM(管理者)排名分析六、三维分析-货销售金额及销量分布情况商品退货率七、三维分析-场城市区域八、总结一、数据来源及理解 此次分析…

LeetCode 348. 判定井字棋胜负(计数)

文章目录1. 题目2. 解题1. 题目 请在 n n 的棋盘上,实现一个判定井字棋(Tic-Tac-Toe)胜负的神器,判断每一次玩家落子后,是否有胜出的玩家。 在这个井字棋游戏中,会有 2 名玩家,他们将轮流在棋…

C中几组指针

具体关于c指针说明可参考前面两篇文章。C中指针详解和C中复杂类型声明。 1、二维数组 下面就三种二维数组进行说明。 1: int **Ptr; 2: int *Ptr[ 5 ]; 3: int ( *Ptr )[ 5 ]; 以上三例都是整数的二维数组,都可以用形如 Ptr[ 1 ][ 1 ] 的方式访问其内容;…

LeetCode 694. 不同岛屿的数量(BFS/DFS+set)

文章目录1. 题目2. 解题2.1 BFS2.2 DFS1. 题目 给定一个非空01二维数组表示的网格,一个岛屿由四连通(上、下、左、右四个方向)的 1 组成,你可以认为网格的四周被海水包围。 请你计算这个网格中共有多少个形状不同的岛屿。 两个岛…

xcode 4.2开发 ——navigation controller 添加按钮

添加一个按钮 UIBarButtonItem *rightButton [[UIBarButtonItem alloc] initWithTitle:"Add" style:UITabBarSystemItemContacts target:self action:selector(clickSettings:)]; self.navigationItem.rightBarButtonItem rightButton; 新版本xcode不用release 添…

数据分析-书籍整理(二)

业务书籍 《数据化管理-洞悉零售及电子商务》讲解了关于零售和电商的一些知识,有很多实用案例。很有借鉴意义。 《游戏数据分析实战》游戏各个阶段的数据分析,方法,数据来源,案例等。 《增长黑客》这本书我看了两遍&#xff0c…

LeetCode 1516. Move Sub-Tree of N-Ary Tree(DFS)

文章目录1. 题目2. 解题1. 题目 Given the root of an N-ary tree of unique values, and two nodes of the tree p and q. You should move the subtree of the node p to become a direct child of node q. If p is already a direct child of q, don’t change anything. …

空气质量指数(AQI)分析与预测

文章目录前言一、背景Ⅰ数据来源Ⅱ 数据背景Ⅲ 分析目的二、数据探索性分析Ⅰ 数据类型Ⅱ 描述性统计Ⅲ 数据预处理1.缺失值处理1)删除缺失值2)均值/中值填充2.异常值处理3.重复值处理三、数据分析Ⅰ空气质量排名Ⅱ 全国空气质量1.全国空气质量等级统计2…

如果程序跑着跑着就崩溃了,查看内存

程序跑的时间长就发生中断。 启动任务管理器,选择“进程”选项卡,查看程序的内存。 发现程序运行的过程中内存不断增长。 那么原因可能是运行过程中不断地分配了新的内存而没有释放。 查找的方法是注释代码,然后看内存是不是还在增长&#xf…

LeetCode MySQL解题目录

已完成的 LeetCode MySQL 数据库题目。点击查看我的 LeetCode 算法解题目录。 已解决 123/123 - 简单 54 中等 51 困难 18 前置入门学习 MySQL 基本查询、条件查询、投影查询MySQL 排序、分页查询、聚合查询MySQL 多表查询、连接查询(内连接、外连接)…

Anaconda3使用过程中遇到的问题

文章目录数据可视化中文、负号显示Anaconda使用pyecharts安装方法方法一:pip install pyecharts安装方法二:清华镜像安装方法三:离线安装成功安装后遇到的问题成功安装却不能使用不能使用某一个图:bar\grid决策树sklearn.exceptio…

AliasDB:简单统一灵活的数据库访问库(支持MSSQL/MySQL/SQLite/Oracle/ODBC/OleDb)适用于中小型系统...

数据库访问各种规模的应用程序不可避免的操作,.NET对提供了简单方便统一的数据库访问类,并且通过Enterprise Lib提供了更为顶层的数据库访问库。在我的人个工作中,现在用得最多的就是通过“动码代码生成器”对一次性生成数据库访问接口&#…

数据分析方法--回归分析方法((SPSS建模:多元线性回归案例)

文章目录回归定义最常用回归方法一、线性回归(Linear Regression)二、逻辑回归(Logistic Regression)三、多项式回归(Polynomial Regression)四、逐步回归(Stepwise Regression)五、岭回归(Ridge Regression)六、套索回归(Lasso Regression)七、回归(ElasticNet)如何正确选择回…

LeetCode MySQL 1511. Customer Order Frequency

文章目录1. 题目2. 解题1. 题目 Table: Customers ------------------------ | Column Name | Type | ------------------------ | customer_id | int | | name | varchar | | country | varchar | ------------------------ customer_id is the p…

LeetCode MySQL 1075. 项目员工 I

文章目录1. 题目2. 解题1. 题目 项目表 Project: ---------------------- | Column Name | Type | ---------------------- | project_id | int | | employee_id | int | ---------------------- 主键为 (project_id, employee_id)。 employee_id 是员…

The Shapes of CSS

http://home.cnblogs.com/blog/转载于:https://www.cnblogs.com/yanyanhappy/archive/2012/09/07/2675050.html

数据分析-书籍整理(一)

入门书籍 《谁说菜鸟不会数据分析》讲解了一些常见的分析技巧,并附带 Excel 的一些知识以及职场可使用的基础数据分析。 《MYSQL必知必会》对于有sql基础的人来说,可以快速复习知识点,小白也能学习到很多,不会打击自信心。我是用…

hdu 1054 Strategic Game 最小点覆盖 = 最大二分匹配

题目地址&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid1054 简单二分匹配&#xff0c;根据题意构造一个无向图。然后求最小点覆盖&#xff0c;然后扫描mark数组将曾经匹配的点所匹配的边消去。 最小点覆盖 最大二分匹配 #include<stdio.h> #include<strin…

数据分析统计学基础一

文章目录数据分析方法分类1、单纯的数据加工方法2、基于数理统计的数据分析方法3、基于数据挖掘的数据分析方法4、基于大数据的数据分析方法描述性统计分析1、数据的计量尺度2、数据的集中趋势3、数据的离中趋势4、数据分布的测定正态分布a. 偏态系数b. 数据峰度c. 偏度与峰度的…