利用SQL日志找回丢失的数据

原创 2006年06月20日 18:11:00

这几天碰到了我一生中最痛苦的事情,在对一个表中的一列数据进行update时,后来少带了个where语句,造成整列数据全部更新,也就是整列数据全部丢失,而以前又没有对次数据库进行备份,万分悲痛之下急忙上网找工具.

一共找到3个:

 Log Explorer 

 Apex SQL Log 
 
SQL Log Rescue 

首先说第一个Log Explorer,第一个可能很多人都用过,我下载下来马上连上数据库,点view log,发现了很多条操作记录,不过不管怎么调,那日志的时间都是6月12日到6月16日,我不知道我的数据库日志为什么只从6月12日开始,请高手解释一下.言归正传,我仔细看那些操作的记录,有很多改动的数据都能看到,可是我改动的那列是ntext类型,数据无法看到,使用 undo和redo都无法找到我那ntext类型的数据,即使使用"export log records"和"recovery"里面的操作也无法找到丢失的ntext数据.万分悲痛之下只好找第二个了

第二个Apex SQL Log,和Log Explorer 差不多,看到的日志记录里没发现找到ntext的数据,后来使用"recovery wizard"里面选择恢复数据,它生成的sql里面的我修改的ntext字段全是0x000...这类二进制数据,原来ntext类型的存储和其他数据类型存储的方式不同,在数据库中ntext存储的只是存储ntext内容的指针,我试着用readtext 读取其中它给我一个指针的值,可惜读不到,进www.apexsql.com/中去咨询,原来这个软件在这个地方有个bug,当恢复ntext类型的时候,只给出一个指针是有错误的,根本无法恢复,他们说在下一个版本中才解决这个问题,没办法了.

第三个SQL Log Rescue,这个确实让我兴奋了一下,因为当我连上数据库读取日志时,发现了一些我改动过之前的ntext类型的值已经改动之后的值,他在改动的记录上还对这两个ntext类型的值进行对比,不过高兴没多久,我才发现我原来只可以找到几条这样的值,进官方主页一看,原来才知道,他有值是因为我update这条记录在前面的日志中还有insert的记录,可是我的日志的时间只有6月12日到6月16日的,前面的日志我不知道为什么会没有了,所以我只能找回几条记录.

总结:个人觉得Log Explorer让我这次没一点收获,Apex SQL Log 至少让我知道了我修改的ntext类型存储的地方,期待他下一个版本能找到,SQL Log Rescue让我恢复了几条数据,可惜日志不全,如果日志全的话完全全部恢复,希望高手替我解释一下.

下班前匆忙写的,很潦草,见谅

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

利用SQL日志找回丢失的数据的免费工具SQL Log Rescue

对于不小心时数据删除了,这个工具SQL Log Rescue™可试试, 操作示例见安装后的帮助文件.就不作演示了.工具地址: http://www.red-gate.com/products/SQL_...

[SQL Server] 主数据文件损坏(或丢失)情况下,如何备份尾部事务日志.

本文描述: 主数据文件损坏(或丢失), 而事务日志文件未损坏的情况下, 如何备份尾部事务日志(自上次备份日志,至发生损坏这段时间的事务日志). (当然,这么做的目的,是可以恢复数据库至损坏前的最...

从日志恢复删除数据sql2000

  • 2008-12-29 17:12
  • 3.25MB
  • 下载

SQL 数据日志还原方法和工具介绍

由于一次意外操作,把SQL数据库中的一张非常重要的表给删除了。  后来在网上找到一款Log Explorer。利用该软件进行了数据的还原    一、下载安装 Log Explorer ...

SQL2005中因为删除大量数据,导致事务日志增大

因为一个表里有大概500万条记录,Detele的时候发现居然删不掉了。就看到log文件逐渐变大。最后出错。查了下,发觉DELETE命令貌似没有什么without transaction之类的参数可选,...

DLINQ(LINQ to SQL)之大数据量分页、延迟执行和日志记录

介绍 以Northwind为示例数据库,DLINQ(LINQ to SQL)之结合GridView控件和ObjectDataSource控件演示大数据量分页,同时介绍延迟执行和日志记录 示...

SQL Server 更改数据/日志文件位置

由于建数据库的时候没有考虑周全,放在了C盘上,导致C盘满了。现在的任务就是将SQLServer的数据文件移动到其他盘去。 1、记录原Logical Name和原来数据库文件位置。 对着数据...

SQL Server 2000 数据结构剖析(1): 日志文件结构

SQL Server 2000是一个可以自增长的可复写的循环文件,最小增长大小为248K(256K-8K),而一个数据库的多个日志文件,是被轮流选择写入日志的,也就是同时循环使用,所以日志文件如果要增...

SQL SERVER 2008R2从日志中恢复Delete数据

【用户单位】     北京某公司  【数据恢复故障描述】     用户有两个SQLSERVER 2008R2数据库,其中一个是测试库,另一个是生产库,DBA在做操作,误把生产库中的一张表做了Delet...

sql2005通过日志恢复被删除的数据方法

1、首先要了解一个没有公开的系统函数::fn_dblog,他可以读取sql日志,并返回二进制的行数据 2、然后要了解sql的二进制数据是如何存储的 3、用自己擅长的开发工具来分析数据,得到我们需要...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)