您的位置:首页 > 数据库 > 其它

SQL Server表误删记录如何恢复

更多 2014/8/13 来源:SQL Server学习浏览量:2256
学习标签: SQL Server
本文导读:在项目开发中,我们都会有可能碰到误删了数据,而这个数据库之前没有任何备份。这个时候的数据该如何恢复呢?下面介绍SQL Server中的表误删记录恢复的方法

一、从事务日志恢复

 

这个恢复需要有两个前提条件:

 

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

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

 

恢复的方法

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个前提条件存在,需要借助第三方工具。

 

二、借助第三方工具恢复

 

1、Log Explorer

能够恢复数据,但是不支持 SQL Server2008

 

恢复方法

 

(1)、打开log explorer file=>attach log file->选择服务器和登陆方式->connect->选择数据库->attach->左面对话框中browse->view log->就可以看到log记录了。

(2)、点击“View DDL Commands”里面就有很多drop table 命令

(3)、点击下面的“undo”按钮是生成表结构的语句(create table ....)

(4)、点击下面的“Salvage”按钮是生成插入语句的(insert into ...values....)

(5)、右键log记录 undo transation->选择保存文件名和路径->然后打开该文件到查询分析器里执行T-sql代码就可以了

 

2、SysTools SQL Recovery

支持SQL Server 2008,但需要购买,Demo版并没有数据恢复功能。

 

3、Recovery for SQL Server

虽然也是商业软件,需要购买,但Demo版可以恢复数据,只要数据库文件不超过24Gb。

 

4、如果数据量比较大的话,使用磁带机和集群的话,安装正版的VERITAS

 

该 软件重要的新功能:

(1)、灾难恢复演习(Disaster Recovery Fire Drill)--能够自由测试、规划和检验灾难恢复计划,而不会中断生产过程。

(1)、集群模拟器(Cluster Simulator)--可测试应用故障切换方案,以验证应用的可用性,确认应用是否根据计划的故障切换策略和应用需求,迁移到最适当的服务器。

(1)、全局集群选件(Global Cluster Option)--当可用性要求从本地迁移到广域灾难恢复时,能够快速、轻松地升级到任何体系结构。

(1)、即时访问复制数据--在复制数据的同时,能够即时访问数据,只占用客户的部分可用存储容量。

(1)、卷复制顾问工具(Volume Replicator Advisor)--准确地分析带宽需求,确保应用得到优化。

 

该软件的缺点是:价格会比较贵。

 

三、几点恢复数据心得

 

1、平时需要做好双机热备份,日备份,月备份,年备份,数据复制,异常记录等工作,在数据丢失的情况下才能做到心中不急

2、如果硬盘损害错误,或者误删除数据库的时候,可以考虑用Easyrecovery或者Recover4all等软件恢复删除或者受到损害的文件,再恢复数据。

3、如果实在遇到自然因素,网络又断开了复制操作的情况下,建议只有手工"造取"一批数据出来弥补丢失数据,一般选取类似纬度(如时间、区域等)的数据

 

收藏
66
很赞
318