各位高手,大哥,由于我的项目是边运行边改,我在初始化表时,不小心把原来已经录入数据的,用drop table删除掉,假设在有日志的情况下,有没有可能恢复?现在我的心都提到嗓门上了,如果不能恢复,我惨了,十几个人一周多的录入的全完了

解决方案 »

  1.   

    我遇到过,有一次我用导出的sql语句重新建缺失的表,没有想到它会drop table!一下子彻底完蛋
      

  2.   

    有以前的bak文件,和新的ldf文件就行。
      

  3.   

    转贴:
    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
      

  4.   

    再贴:
    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恢复数据4)
    如果你的数据库的日志恢复模型是simple,那就不可能用log explorer恢复5)
    Log explorer必须安装在要恢复数据库的sql server服务器上,或者在sql server服务器上安装服务端,在操作的电脑上安装客户端进行数据恢复
      

  5.   

    sorry ,i don't  know
      

  6.   

    问一下你drop table 之后有没有提交阿,即执行commit,如果没有的话,你可以用rollback恢复阿,如果你已经commit了,那估计就没戏了
      

  7.   

    同情,我用VSS开发,有次忘了备份,把好几天的东西全没了,气得半死,同情!!