SQLSERVER 事务日志查看LogExplore 使用方法
发布时间:2020-12-12 12:51:10 所属栏目:MsSql教程 来源:网络整理
导读:LogExplore?使用方法: 安装后打开log?explorer?file=attach?log?file-选择服务器和登陆方式- connect - 选择数据库-attach-左面对话框中browse- view ? log-就可以看到log?记录, 点击“ View ? DDL?Commands”里面就有很多 drop ? table ? 命令 点击下面的
LogExplore?使用方法:
安装后打开log?explorer?file=>attach?log?file->选择服务器和登陆方式->
connect
->
选择数据库->attach->左面对话框中browse->
view ?
log->就可以看到log?记录,
点击“
View ?
DDL?Commands”里面就有很多
drop ?
table ?
命令
点击下面的“undo”按钮是生成表结构的语句(
create ?
....)
点击下面的“Salvage”按钮是生成插入语句的(
insert ?
into ?
...
values
....)
(以上lynx1111?提供)
我是按照上述方法的“Salvage”来生成被删除表的
Insert ?
语句,实际上用这个方法生成的
SQL?脚本已经包含了CreateTable。该过程速度大概用了8?个小时,当时觉得慢,后来相比
恢复过程,这个速度简直快的不行。最大的表脚本生成后超过1G。
生成所有的SQL?脚本后,防止万一,我将数据库停下,并把
Date ?
文件夹的Log?和.MDF
文件拷出来(怕破坏LOG?文件,没有使用数据库的备份方式备份),文件大小总共为5.7G
此后开始进行正式的恢复工作。新建一个数据库,先试着用SQL?查询分析器运行了一个
小表的脚本,完全没有问题。但后来发现导入比较大的SQL?脚本文件,查询分析器就报错
了。请教了realgz?得知logExplore?r?本身对大脚本有良好支持,因此改用LogExplorer
--》Run
SQL?Script?功能来运行脚本。果然大文件也可以恢复了。
但开始运行后发现包含有ntext?字段的表恢复起来异常缓慢,打开一个包含nText?字段的
表的恢复脚本发现里面使用writeText?来写入数据。恢复一个30?万数据的表居然用了将近12
小时的时间,而数据库中又有大量这样的表,为了加快数据,我又在几个机器上装了
LogExplore?r?加入恢复过程,终于经过3?天的时间,全部的表都搞的差不多了,不过恢复过
程有少量的错误。
接下来我将几个机器的表导到同一个数据库中,不过此时恢复的表是没有包含索引、标识
等扩展属性的,因此需要重新建立索引、标识、默认值以及触发器。在建立主键的时候发现
居然有数据重复。。。没办法只好删除重复数据。
使用
select ?
distinct ?
*?
t_New?
from ?
t_Old?可以删除重复数据,但
遇到有ntext?字段的表是不能用这个方法的,最后只好用
Delete ?
From ?
t_Table
Where ?
ID?
IN ?
(
Select ?
ID?
t_Table?a?
where ?
Select ?
Count
(*)
a.ID?=?ID?)?>?1?)直接删除了有重复数据的
记录
经过72?小时的努力,99.9%的数据恢复。并于4?月8?日晚上恢复运行网站。
这时候部分用户反映无法登陆,一查发现是有小部分数据丢失,也就是LogExplore?r?里报
错误的那些数据……没办法,我重新用UEdit?打开SQL?脚本,查找这些数据,发现还在,
仔细一看发现,这些数据里都有部分内容里使用大量的回车,?LogExplore?r?无法识别,因此
才出的错误。
呵呵,顾客是上帝,没办法,只好将用户表重新在本地恢复一次,遇到错误就记录下ID,
然后再考出SQL?脚本到查询分析器运行(查询分析器可以运行)
现在建立了维护计划,每个星期做一次完整备份。另外操作数据库的流程也变的规范,防
止此类事故出现
*******************************************************************************
*****
1、慎重使用Text/nText?字段
2、LogExplore?r?的脚本执行工具对付大文件很不错,但执行过程会对多个回车产生误判断
3、有问题不要着急,上csdn?找高手帮忙,他们会很热心帮助你
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |