sqlserver2012恢复数据库,sql server数据不小心删除了能否完全恢复

sqlserver2012恢复数据库,sql server数据不小心删除了能否完全恢复,SQL Server2008 数据库误删除数据的恢复方法分享

今天一个朋友急着给我打电话。他用delete语句错误地删除了SQL Server 2008数据库中两个表的所有记录,但该数据库以前没有备份。让我帮他解决,不然他要给客户一大笔钱。

SQL Server中误删数据的恢复并不难,只需从事务日志中恢复即可。然而,这种复苏有两个先决条件:

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

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

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

情况一、

如果这两个前提条件都存在,那么只需要三步就可以通过SQL语句恢复(参考文章),不需要借助第三方工具。

a)备份当前数据库的事务日志:BACKUP LOG[database name]TO disk=N BACKUP file name WITH no recovery。

b)在完全备份被错误删除之前将其还原:Restore DATABASE[DATABASE name]FROM DISK=N full backup file name WITH no recovery,REPLACE

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

情况二、

如果第一个前提条件不存在,第二个前提条件存在,则需要第三方工具的帮助。

情况三、

如果第二个先决条件不存在,则无法恢复。因此,请务必将数据库恢复模式设置为

“完全(Full)”。

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

我开始寻找SQL Server的日志浏览器,它不支持SQL Server 2008。

后来我在找SQL日志救援,它也不支持SQL Server 2008。

然后我找到了SysTools SQL Recovery,支持SQL Server 2008,但是需要购买。演示版没有数据恢复功能。

最后,在officerecovery.com上找到了

Recovery for SQL Server

。虽然也是商业软件,需要购买,但是演示版只要数据库文件不超过24Gb就可以恢复数据。还好朋友的数据库文件不大,我就用它来恢复误删的数据。

下面分享一下SQL Server用recovery进行恢复的操作步骤:

1.为SQL Server运行恢复

2.单击菜单中的文件恢复,并选择数据文件(。mdf)文件。

3.接下来接下来,进入恢复配置界面,选择自定义(只能选择自定义来恢复日志中误删的数据)。

4.接下来进入恢复选项窗口,选择搜索已删除的记录,并选择要恢复的数据库的日志文件路径。

5.接下来,选择目标文件夹来存储恢复过程中生成的SQL语句和bat文件。

6.单击Start开始恢复操作(在上一步选择的目标文件夹中生成相应的SQL文件和Bat文件)。然后,将出现SQL Server数据库创建实用工具窗口。

7.接下来,选择存储恢复数据的目标数据库。

8.接下来,选择从数据库和日志文件中导入可用数据。

9.接下来,接下来,然后完成数据恢复!

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

sqlserver2012恢复数据库,sql server数据不小心删除了能否完全恢复