恢复过程:]
使用工具是LogExplore,(下载地址:http://five.ttdown.com/L/Log%20Explorer%20for%20SQL%20Serverv%20v3.21.KG.exe)
安装后打开log explorer file=>attach log file->选择服务器和登陆方式->connect->
选择数据库->attach->左面对话框中browse->view log->就可以看到log记录,
点击“View DDL Commands”里面就有很多drop table 命令
点击下面的“undo”按钮是生成表结构的语句(create table ....)
点击下面的“Salvage”按钮是生成插入语句的(insert into ...values....)
(以上lynx1111提供)
我是按照上述方法的“Salvage”来生成被删除表的Insert语句,实际上用这个方法生成的SQL脚本已经包含了CreateTable。该过程速度大概用了8个小时,当时觉得慢,后来相比恢复过程,这个速度简直快的不行。最大的表脚本生成后超过1G。
生成所有的SQL脚本后,防止万一,我将数据库停下,并把Date文件夹的Log和.MDF文件拷出来(怕破坏LOG文件,没有使用数据库的备份方式备份),文件大小总共为5.7G
此后开始进行正式的恢复工作。新建一个数据库,先试着用SQL查询分析器运行了一个小表的脚本,完全没有问题。但后来发现导入比较大的SQL脚本文件,查询分析器就报错了。请教了realgz得知logExplorer本身对大脚本有良好支持,因此改用LogExplorer--》Run SQL Script 功能来运行脚本。果然大文件也可以恢复了。
但开始运行后发现包含有ntext字段的表恢复起来异常缓慢,打开一个包含nText字段的表的恢复脚本发现里面使用writeText来写入数据。恢复一个30万数据的表居然用了将近12小时的时间,而数据库中又有大量这样的表,为了加快数据,我又在几个机器上装了LogExplorer加入恢复过程,终于经过3天的时间,全部的表都搞的差不多了,不过恢复过程有少量的错误。
接下来我将几个机器的表导到同一个数据库中,不过此时恢复的表是没有包含索引、标识等扩展属性的,因此需要重新建立索引、标识、默认值以及触发器。在建立主键的时候发现居然有数据重复。。。没办法只好删除重复数据。
使用 select distinct * into t_New from t_Old 可以删除重复数据,但遇到有ntext字段的表是不能用这个方法的,最后只好用 Delete From t_Table Where ID IN (Select ID From t_Table a where (Select Count(*) From t_Table a where a.ID = ID ) > 1 )直接删除了有重复数据的记录
经过72小时的努力,99.9%的数据恢复。并于4月8日晚上恢复运行网站。
这时候部分用户反映无法登陆,一查发现是有小部分数据丢失,也就是LogExplorer里报错误的那些数据……没办法,我重新用UEdit打开SQL脚本,查找这些数据,发现还在,仔细一看发现,这些数据里都有部分内容里使用大量的回车,LogExplorer无法识别,因此才出的错误。
呵呵,顾客是上帝,没办法,只好将用户表重新在本地恢复一次,遇到错误就记录下ID,然后再考出SQL脚本到查询分析器运行(查询分析器可以运行)
现在建立了维护计划,每个星期做一次完整备份。另外操作数据库的流程也变的规范,防止此类事故出现
[一些收获:]
1、慎重使用Text/nText字段
2、LogExplorer的脚本执行工具对付大文件很不错,但执行过程会对多个回车产生误判断
3、有问题不要着急,上csdn找高手帮忙,他们会很热心帮助你
分享到:
相关推荐
LogExplorer4.2_SqlServer数据库恢复工具 非常有用的工具,需要的拿去~ 使用Log Explorer查看和恢复数据 使用方法: 打开Log Explorer -> Attach Log File -> 选择SQL Server服务器和登陆方式 -> Connect -> 在...
log explorer使用 Log explorer是个好工具,极大的补了sqlserver之数据恢复之不足.收集了一些logexplorer的使用 不断更新中 打开log explorer file=>attach log file->选择服务器和登陆方式->connect-> 选择...
log explorer使用的几个问题 1)对数据库做了完全 差异 和日志备份 备份时选用了删除事务日志中不活动的条目 再用Log explorer打试图看日志时 提示No log recorders found that match the filter,would you like...
log explorer使用的几个问题 1)对数据库做了完全 差异 和日志备份 备份时选用了删除事务日志中不活动的条目 再用Log explorer打试图看日志时 提示No log recorders found that match the filter,would you like ...
6. **生成报告**:在完成分析后,用户可以选择生成报告,将结果导出为文档,如"Log Explorer使用说明.doc"所示,便于分享和后期查阅。 三、安全与注意事项 1. **权限管理**:由于Log Explorer 4.2涉及数据库敏感...
在使用Log Explorer 4.1时,需要注意以下几点: - 在尝试恢复数据前,务必先备份当前数据库,以防止任何可能的不可逆操作。 - 日志文件的大小和数量会影响恢复速度和资源消耗,因此定期清理和维护日志文件是必要的...
2. 熟悉日志结构:理解所用数据库的日志结构有助于更准确地使用Log Explorer 4.2进行数据分析。 3. 注册码使用:下载的Log Explorer 4.2版本带有注册码,安装后激活,可以享受完整功能,避免功能限制。 总结来说,...
log explorer使用的几个问题 1)对数据库做了完全 差异 和日志备份 备份时选用了删除事务日志中不活动的条目 再用Log explorer打试图看日志时 提示No log recorders found that match the filter,would you like ...
随软件提供的"Log Explorer使用说明.doc"文档详细阐述了如何安装、配置和使用LogExplorer4.2。它通常会涵盖以下几个关键步骤: 1. **安装**:按照文档中的指导,正确安装LogExplorer4.2软件。 2. **连接数据库**:...
Log Explorer主要用于对MSSQLServer的事物分析和数据恢复。你可以浏览日志、导出数据、恢复被修改或者删除的数据(包括执行过update,delete,drop和truncate语句的表格)。一旦由于系统故障或者人为因素导致数据丢失,...
log explorer使用的几个问题 1)对数据库做了完全 差异 和日志备份 备份时选用了删除事务日志中不活动的条目 再用Log explorer打试图看日志时 提示No log recorders found that match the filter,would you like ...
《SQL Server 2005数据库恢复:Log Explorer 4.2详解》 在数据库管理领域,数据安全...对于那些不熟悉这一工具的用户,建议在实际操作前充分学习相关文档和教程,以确保正确无误地使用Log Explorer 4.2进行数据恢复。
使用Log Explorer 4.1进行数据库恢复** 在Log Explorer 4.1中,用户可以按照以下步骤进行数据库恢复: 1. 打开Log Explorer并连接到SQL Server实例。 2. 选择要分析的数据库日志文件(*.ldf)。 3. 检查日志内容,...
使用Lumigent Log Explorer前,需正确安装并配置连接到目标SQL Server实例。配置过程中,可能需要管理员权限以及对SQL Server的充分理解。一旦设置完毕,用户即可开始探索并利用这款工具的强大功能。 总结来说,...
【Lumigent Log Explorer汉化包】是一个专为不熟悉英文界面的用户设计的工具,使得在中国等非英语国家的IT专业人士能够更方便地使用Lumigent Log Explorer进行日志管理和分析。Lumigent Log Explorer是一款强大的...
国产log explorer for sql server, 支持sql2000,sql2005,sql2008,解决lumigent log explorer不支持sql2008的问题,通过日志恢复误delete,误update数据.详细操作见操作手册.
Log Explorer主要用于对MSSQLServer的事物分析和数据恢复。你可以浏览日志、导出数据、恢复被修改或者删除的数据(包括执行过 update,delete,drop和truncate语句的表格)。一旦由于系统故障或者人为因素导致数据丢失,...
Log Explorer For SqlServer 中文版 可查看SqlServer日志文件