CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  应用实例

请问怎么撤消对数据库的操作?在线等待!!!急求!!!

楼主annyzhu()2004-12-04 14:22:57 在 MS-SQL Server / 应用实例 提问

我犯了个严重的错误,在对MS-SQL数据库操作前没有进行备份,更新了一些数据,后来才发现更新错了,现在没有备份,请问大哥们有什么办法撤消对数据库的操作啊?能回到我操作前的状态吗?在线等待,不然我就被客户砍死了,几千条数据啊!!!!!! 问题点数:100、回复次数:16Top

1 楼landlordh(work wonders)回复于 2004-12-04 14:25:44 得分 0

基本上沒有辦法Top

2 楼annyzhu()回复于 2004-12-04 14:30:44 得分 0

真的没有办法了吗?有没有向oracle的回闪功能啊?Top

3 楼Frewin(frewin)回复于 2004-12-04 14:31:28 得分 0

用   Log   Explorer工具Top

4 楼Frewin(frewin)回复于 2004-12-04 14:32:13 得分 50

--转帖:详情请看http://community.csdn.net/Expert/topic/2954/2954818.xml?temp=.9693109  
  [故障起因:]  
  在使用数据导入导工具将本地表往服务器传输时,忘记点掉“选择全部对象”,因此将远程的140张表超过1000万条数据全部覆盖(操作员当时点完提交就去吃饭,因此中途没有取消),数据库没有备份。  
   
  [恢复过程:]  
  使用工具是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   功能来运行脚本。果然大文件也可以恢复了。  
  Top

5 楼huazf(huazf)回复于 2004-12-04 14:32:15 得分 0

QQ:386999  
  TEL:0576-2454863  
  可以与我联系Top

6 楼annyzhu()回复于 2004-12-04 14:45:23 得分 0

恢复到一个小时前的状态可行吗?  
  http://five.ttdown.com/L/Log%20Explorer%20for%20SQL%20Serverv%20v3.21.KG.exe  
  这个地址无效啊?Top

7 楼annyzhu()回复于 2004-12-04 17:12:12 得分 0

请问LogExplore这个软件在哪可以下载到啊?Top

8 楼Frewin(frewin)回复于 2004-12-04 17:18:57 得分 0

LogExplore:  
  http://www.ttdown.com/SoftDown.asp?ID=14562Top

9 楼zjcxc(邹建)回复于 2004-12-04 17:19:03 得分 50

用第三方工具  
   
  Log   Explorer   for   SQL   Server   v4.0.2  
  http://js.fixdown.com/soft/8324.htm  
   
  注册机产生的是注册码,是两个  
   
  用解压缩密码解开后,压缩包里也有一个注册机的  
   
  打开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提供)  
   
  想恢复的话:   右键log记录   undo   transation->选择保存文件名和路径->然后打开该文件到查询分析器里执行  
  T-sql代码就可以了  
   
  例如   如果log是delete   table   where   ...的话,生成的文件代码就是insert   table   ....  
   
   
  使用经验总结帖:  
  http://community.csdn.net/Expert/topic/2954/2954818.xml?temp=.9148676  
  Top

10 楼zjcxc(邹建)回复于 2004-12-04 17:19:28 得分 0

 
  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恢复数据  
   
  Top

11 楼Frewin(frewin)回复于 2004-12-04 17:19:59 得分 0

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   for   SQL   Server   v4.0.2  
  http://js.fixdown.com/soft/8324.htmTop

12 楼Frewin(frewin)回复于 2004-12-04 17:30:47 得分 0

我已临时开通了一个http给你下载,具体看我发给你的信息。Top

13 楼annyzhu()回复于 2004-12-04 18:30:49 得分 0

非常感谢,我已经下载到了,谢谢,不过用这个软件能100%恢复吗?是不是可以想恢复到以前的任何一个时候?  
  Top

14 楼cgsun(colin)回复于 2004-12-04 18:54:28 得分 0

能恢复你update的资料的,Top

15 楼annyzhu()回复于 2004-12-04 19:10:25 得分 0

不过现在又出现一个问题,就是我直接用这个软件连接到远程的数据库服务器时,提示远程没有安装这个软件的客户端或服务器端,我把远程的数据库备份下来后在本机上还原,再用软件时提示没有日志文件,看不到log了,请问怎么回事?Top

16 楼zjcxc(邹建)回复于 2004-12-06 08:04:05 得分 0

这个软件必须安装在要恢复数据的SQL服务器上(至少也得在服务器上安装该软件的客户端)Top

相关问题

  • javascript怎么操作数据库?在线等待
  • javascript怎么操作数据库?在线等待
  • 在线等待:怎么不能对数据库操作呀??
  • 高手指点--关于操作数据库(在线等待)
  • 数据库操作
  • 数据库操作
  • 数据库操作
  • 利用ClientDataSet对服务器段数据库操作?在线等待~!!~!
  • 急问一个数据库操作问题,分会继续加,在线等待!!!!!!
  • SQL Sever2000数据库日志已满?我该怎么操作?在线等待!

关键词

  • .net
  • 数据库
  • 脚本
  • 服务器
  • 文件
  • 分析器
  • sql
  • 语句
  • 远程
  • 软件

得分解答快速导航

  • 帖主:annyzhu
  • Frewin
  • zjcxc

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo