sqlserver 2000数据库昨天上午莫名其妙的没有了。各位大神都知道,数据库的表丢了意味着什么,现在怀疑是被人恶意删除了,说实话,数据库的服务器防火墙不行。昨天看了一天的 log explorer 也没有看出问题,求大神指导。迫切想知道是被人攻击了,还是数据库自身问题,表丢了

解决方案 »

  1.   

    如果不是经常发生,那就只能用工具来分析日志,如果经常发生你才能用监控的手段来查看是否有人动过。常规流程:
    1、杀毒
    2、检查服务器登录情况,再做后续检查
    3、检查sqlserver当时的登录。
    4、sqlserver有default trace,看看特定时间段有没有什么操作。
    5、用log exploer来逐行检查
    分析这些东西相当耗时耗精力,只能逐步检查
      

  2.   

    用log explorer查看数据库日志,前提是数据库是完整恢复模式的.另: SQL2000 SP4补丁记得安装喔,Windows也要时常更新喔.
      

  3.   

    default trace,这个怎么操作,我刚问了下度娘,这个是2005才有的吧。
      

  4.   

    2005才有??那你只能看log exploer了。其他的我也不知道怎么搞
      

  5.   

    只能看Log Explorer了,另附删除表恢复办法,但是不要报太大希望,尝试下吧。生产环境需要做好备份。----------------------------------------------------------------------
    --Log Explorer恢复被drop table和truncate table后的数据
    ----------------------------------------------------------------------
    1  连接到被删除数据库的Db
         操作同上
    2   恢复方法
    1)  选择"salvaage dropped/truncate"菜单,在右边的对话框中选择表名,和droped/trucated的日期,
    File Name中选择生成insert语句脚步的存放位置,condition选择是droped还是truncated,
    最后点击"create" 就会生成insert语句,把生成的语句到查询分析器里面执行一下就可以了
    2) 选择"ViewDDL Commands"菜单->选"truncate table" 操作项->点击"Salvage"->生成语句->查询分析器里执行
      

  6.   

    如果是国产软件,基本上没法查,因为大家都是用sa帐户连到SQL Server。