如何从数据库日志文件恢复数据?

lxw2100 2006-11-23 02:17:00
不小心删了表中部分数据,现在想要从日志文件中恢复删除的数据,要怎么做?
如果删除了整个表后,怎么在日志文件中恢复这个表?
有没有什么好的查看日志文件的工具?谢谢了
...全文
297 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
redsuki 2006-11-24
  • 打赏
  • 举报
回复
只要没压缩过日志文件 那应该可以用log explorer恢复数据.如果压缩过的话,我也是有办法能再出来一部分 但不能保证100% 。 前提要 出问题后 立刻停止使用该机子
lxw2100 2006-11-24
  • 打赏
  • 举报
回复
数据库日志文件压缩之后就没有那部分的记录了!这下麻烦啦!
qw12cn 2006-11-23
  • 打赏
  • 举报
回复
参考http://community.csdn.net/Expert/TopicView3.asp?id=5159568
子陌红尘 2006-11-23
  • 打赏
  • 举报
回复
用Log Explorer

Log Explorer

http://www.ttdown.com/SoftDown.asp?ID=14562
http://www.yiii.net/app/servlet/net.yiii.club.DownloadServlet?Information_Id=I00023471
解压缩密码 www.heibai.net

http://www.ttdown.com/softview_8647.htm


注册机产生的是注册码,是两个

用解压缩密码解开后,压缩包里也有一个注册机的

打开log explorer file=>attach log file->选择服务器和登陆方式->connect->
选择数据库->attach->左面对话框中browse->view log->就可以看到log记录了
想恢复的话: 右键log记录 undo transation->选择保存文件名和路径->然后打开该文件到查询分析器里执行
T-sql代码就可以了

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

log explorer使用的几个问题

1)对数据库做了完全 差异 和日志备份
备份时选用了删除事务日志中不活动的条目
再用Log explorer打试图看日志时
提示No log recorders found that match the filter,would you like to view unfiltered data
选择yes 就看不到刚才的记录了


如果不选用了删除事务日志中不活动的条目
再用Log explorer打试图看日志时,就能看到原来的日志

2)修改了其中一个表中的部分数据,此时用Log explorer看日志,可以作日志恢复

3)然后恢复备份,(注意:恢复是断开log explorer与数据库的连接,或连接到其他数据上,
否则会出现数据库正在使用无法恢复)
恢复完后,再打开log explorer 提示No log recorders found that match the filter,would you like to view unfiltered data
选择yes 就看不到刚才在2中修改的日志记录,所以无法做恢复.


3)
不要用SQL的备份功能备份,搞不好你的日志就破坏了.

正确的备份方法是:
停止SQL服务,复制数据文件及日志文件进行文件备份.

然后启动SQL服务,用log explorer恢复数据

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧