关于SQL数据库日志的问题!在线高分求解! 100

我的SQL数据库,其它管理员在局域网内用工具经常删除或修改其中的数据!请问有没有办法查看到他们在数据库中所修改的内容!该如何恢复所修改的内容,以及如何删除部分对数据库修改... 我的SQL数据库,其它管理员在局域网内用工具经常删除或修改其中的数据!请问有没有办法查看到他们在数据库中所修改的内容!该如何恢复所修改的内容,以及如何删除部分对数据库修改的日志!
请列举具体的方法!
有好用的工具也可以!
展开
 我来答
aoobooc
2009-01-11 · 超过31用户采纳过TA的回答
知道答主
回答量:72
采纳率:0%
帮助的人:85.6万
展开全部
原贴地址:http://expert.csdn.net/Expert/topic/2931/2931668.xml

使用工具是LogExplore,(下载地址:http://down.chinaz.com/download.asp?id=7887&dp=1&fid=7&f=yes

安装后打开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找高手帮忙,他们会很热心帮助你
debj031634
2009-01-10 · TA获得超过432个赞
知道小有建树答主
回答量:491
采纳率:0%
帮助的人:341万
展开全部
可以更改他们账户的权限,限制他们的更改
我想你应该是管理吧
ps:为什么会有那么多人更改数据啊??
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cfj1987
2009-01-11 · 超过47用户采纳过TA的回答
知道小有建树答主
回答量:173
采纳率:0%
帮助的人:0
展开全部
我觉得你既然不想让他们修改,那你就直接控制管理该文档的权限不就好了?只有固定的IP才能有权限修改不就好了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
杨屹2009
2009-01-11 · 超过16用户采纳过TA的回答
知道答主
回答量:83
采纳率:0%
帮助的人:0
展开全部
楼主用的是哪种软件?请说明一下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式