您的位置:首页 > 数据库

Sql Server 误删数据的恢复方法总结

2010-06-15 14:48 597 查看
sql server误删数据恢复的方法一般来讲有2种

第一种方法:通过完全备份的数据库文件和误删数据后的日志备份文件来恢复。

具体步骤如下:

1、对误删数据后的数据库立即做一个日志备份,如为保险起见,最好立即再做一个完全备份。

backup log testdb to disk='e:/testdblog.bak'

2、先找到一个最近一次执行完全数据库备份的数据文件。

如:testdb20100101.bak。

3、利用最近一次的完全数据库备份文件 testdb20100101.bak 恢复数据库。

restore database testdb from disk='e:/testdb.bak' with replace,norecovery

4、利用日志备份文件 testdblog.bak 恢复数据库文件至误删数据时间点之前。

restore log testdb from disk='e:/testdblog.bak' with recovery,stopat='2010-1-2 11:10:10'

注意:这里最重要的一点就是,当发现误删数据后要立即断开服务器与客户端的网络连接,避免误删数据那一刻起有新的数据产生,给数据恢复带来不必要的麻烦。

第二种方法:利用第三方工具软件,如Log Explorer(可以到我的资源里面下载:http://summerycool.download.csdn.net/)

1、安装

Log Explorer工具包括服务器端和客户端工具,安装的选择有两种:

1)把服务器端和客户端都安装在数据库服务器上。

2)或者把服务器端安装在数据库服务器上,客户端安装在客户机上。

2、操作

打开Log explorer file => attach log file -> 选择服务器和登陆方式-> connect->

选择数据库 -> attach -> 左面对话框中browse -> view log-> 就可以看到log记录了

想恢复的话: 右键log记录 undo transation -> 选择保存文件名和路径 -> 然后打开该文件到查询分析器里执行

T-sql代码就可以了

例如 如果log是delete table where ...的话,生成的文件代码就是 insert table ....

其实这个原理挺简单,看看sql server日志文件就知道了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: