sqlserver数据库数据被删除了怎么还原

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlserver数据库数据被删除了怎么还原相关的知识,希望对你有一定的参考价值。

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, 然后就完成数据的恢复!
参考技术A

在sqlserver2012的维护计划向导中,要建立完整备份,差异备份和事务日志。

1、至少有一个误删除之前的数据库完全备份数据库的恢复模式(Recovery mode)是“完整(Full)针对这两个前提条件,如果这两个前提条件都存在,通过SQL语句只需三步就能恢复参考文章,无需借助第三方工具。

2、备份当前数据库的事务日志:BACKUP LOG [数据库名] TO disk= N'备份文件名' WITH NORECOVERY恢复一个误删除之前的完全备份RESTORE DATABASE [数据库名] FROM DISK = N'完全备份文件名' WITH NORECOVERY,  REPLACE。

3、将数据库恢复至误删除之前的时间点:RESTORE LOG [数据库] FROM  DISK = N'第一步的日志备份文件名' WITH   STOPAT = N'误删除之前的时间点' , RECOVER如果第1个前提条件不存在,第2个前提条件存在,需要借助第三方工具。

4、如果第2个前提条件不存在,无法恢复所以,一定要将数据库恢复模式设置为“完整开始找的是Log Explorer for SQL Server,不支持SQL Server 2008。后来找的是SQL Log Rescue,也不支持SQL Server 2008接着找到的是SysTools SQL Recovery,支持SQL Server 2008,但需要购买,Demo版并没有数据恢复功能。

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

参考技术B 数据库被黑,一般都是服务器或者网站存在漏洞,被黑客利用并提权攻击了数据库,包括sql注入都可以攻击数据库,导致网站被篡改,会员数据被篡改,数据库被删,网站被跳转,被挂马等攻击行为。解决办法:如果程序不是很大,可以自己比对以前程序代码的备份文件,然后就是修复,对数据库端口进行安全部署与加固,不对外开放,开启数据库的安全日志,追踪检查攻击者,也可以通过网站安全公司来解决,防止数据库被攻击,国内也就Sinesafe和绿盟等安全公司比较专业.

sql server 2008怎么还原备份数据库

参考技术A   SQL Server 2008 备份数据库:   1.打开SQL , 找到要备份的数据库 , 右键 >> 任务 >>备份   2.弹出 [ 备份数据库对话框 ] ,如图:   3.点击添加 [ 按钮 ] . 如下图:   4.选择要备份的路径 和 备份的文件名 点击 [ 确定 ].   5.然后就一直点击确定就可以了 . 然后我们来到D: 看看   6.这个时候 , 你可以把它压缩打包什么的 , 要用的时候 , 在文件后面加 .bak 后缀 就可以用SQL 来还原了,还原可以来看这里~   SQL Server 2008 还原数据库:   1.得到数据库备份文件,怎么得到的,可以看上面的数据库备份方法   2.把备份文件加个.bak 的后缀,例如:   3.打开SQL , 你可以新建一个空数据库 , 或者利用原有的数据库 , 点击右键>>任务>>还原>>数据库   4.弹出 [ 还原数据库 ] 对话框 , 在常规选择页中,操作如下:   5.在 [ 选项 ] 选择页中 , 操作:   6.直接按 确定 就 可以了 (PS: 之前还原第一次的时候 发生了错误, 我用了sa登录,可能是权限问题报错了,后来用WINDOWS身份认证的才得). 注:更多精彩教程请关注三联电脑教程栏目,三联电脑办公群:189034526欢迎你的加入

以上是关于sqlserver数据库数据被删除了怎么还原的主要内容,如果未能解决你的问题,请参考以下文章

sqlserver 删除数据库 怎么恢复

sql server 2000 中怎么去掉 和 还原 自增字段

SQL Server还原数据库失败怎么办

如何删除sqlserver数据库

sqlserver怎么还原备份数据

sql server 2008怎么还原备份数据库