CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  应用实例

两个问题:恢复删除记录和系统日志

楼主leayh(云卷云舒)2004-12-03 11:57:27 在 MS-SQL Server / 应用实例 提问

1、我不小心在SQL里删除了一些记录,然后又添加了几条记录,请问有没有办法在任何数据库及事务日志的备份的情况下,将已经删除的记录恢复过来?就象在Foxpro里有一条recall语句一样简单?  
   
  2、在SQL   Server中的系统日志很简单,只记录了一些关键信息。但我想要记录下对SQL中任何数据库的任何表、任何字段的任何操作,如Insert,   Modify,   Update,   Select等,同时还要记录执行这些操作的登录用户名、机器名或IP,请问该如何设置? 问题点数:30、回复次数:9Top

1 楼yelook(香槟酒)回复于 2004-12-03 12:11:43 得分 3

学习Top

2 楼skyboy0720(曲终人散)回复于 2004-12-03 12:16:52 得分 0

1:使用第三方软件LOG   EXPLORER!  
  2:写个触发器!Top

3 楼skyboy0720(曲终人散)回复于 2004-12-03 12:17:28 得分 25

Log   Explorer  
   
  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   file=>attach   log   file->选择服务器和登陆方式->connect->  
  选择数据库->attach->左面对话框中browse->view   log->就可以看到log记录了  
  想恢复的话:   右键log记录   undo   transation->选择保存文件名和路径->然后打开该文件到查询分析器里执行  
  T-sql代码就可以了  
   
  例如   如果log是delete   table   where   ...的话,生成的文件代码就是insert   table   ....  
   
  ------------------------------------------------------------------------  
  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中修改的日志记录,所以无法做恢复.Top

4 楼skyboy0720(曲终人散)回复于 2004-12-03 12:18:17 得分 0

//////////////////////////参考,记录操作的示例////////////////  
   
   
   
  --创建记录的日志表  
  create   table   t_log(  
  id   int   identity(1,1)   primary   key,  
  工作站名   nchar(30)   not   null   default   host_name(),  
  操作员   sysname   DEFAULT   SUSER_SNAME(),  
  操作时间   datetime   default   getdate(),  
  事件类型   nvarchar(30),  
  参数   int,  
  执行的语句   nvarchar(255))  
  go  
   
  --演示用的数据表  
  create   table   test(id   int)  
  go  
   
  --记录操作的触发器  
  create   trigger   t_update   on   test  
  for   insert,update,delete  
  as  
  insert   t_log(事件类型,参数,执行的语句)   exec('dbcc   inputbuffer(@@spid)')  
  go  
   
  --初始化表  
  insert   into   test   values(1)  
  go  
   
  update   test   set   id=100  
  go  
   
  --显示记录情况  
  select   *   from   t_log  
  go  
   
  --删除演示环境  
  drop   table   t_log,testTop

5 楼leayh(云卷云舒)回复于 2004-12-03 13:00:19 得分 0

To:   skyboy0720(人是人他妈生的,妖是妖他妈生的!)    
  1、这个软件我也知道,但是我已经删除了,现在才用这个软件,有用吗?  
  2、我也想到用这个方法,但是我的数据量是很大的,一天在万条左右,如果对某一个操作都用Trigger记录下来的话,会严重影响系统的速度的,所以我才想能不能直接在SQL管理器里实现。  
   
  谢谢!  
  Top

6 楼huazf(huazf)回复于 2004-12-03 13:12:57 得分 0

兄弟,我不需要日志文件,也可以恢复过来Top

7 楼comszsoft(星星点灯)回复于 2004-12-03 13:21:24 得分 2

学习Top

8 楼leayh(云卷云舒)回复于 2004-12-03 13:47:11 得分 0

To:   huazf  
  那就拜托指教指教吧,谢谢了!Top

9 楼leayh(云卷云舒)回复于 2004-12-03 17:18:27 得分 0

To:   skyboy0720  
  Trigger里exec('dbcc   inputbuffer(@@spid)')这一句在SQL7里执行不成功,提示:Parameter   1   is   incorrect   for   this   DBCC   statement,但在2000里一切正常,请问怎么解决在SQL7里的问题呢?Top

相关问题

  • 如何从日志中将删除的记录恢复(sql server)
  • 请教如何删除记录中重复的行,只保留一行,数据库日志恢复数据?
  • Log Explorer查不到删除记录的日志
  • 怎样删除IIS日志记录,就是system32\LogFiles的XX.log
  • 如何使删除操作不记录在日志?
  • 如何删除系统日志中指定的记录项
  • 关于日志,如何删除大数据量的记录。高手赐教
  • 如何删除日志?
  • ====有没有恢复Ms Sql Server删除记录的工具??====
  • 如何恢复access中被删除的记录

关键词

  • .net
  • 数据库
  • 系统
  • 执行
  • 选择
  • sql
  • 日志
  • 记录
  • 删除
  • 恢复

得分解答快速导航

  • 帖主:leayh
  • yelook
  • skyboy0720
  • comszsoft

相关链接

  • SQL Server类图书

广告也精彩

反馈

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