不小心删除了几个表,可以利用日志文件把数据库恢复到刚刚删除以前吗?

解决方案 »

  1.   

    还原数据库作业与sql 指令
    -- Restore the database backup.
    RESTORE DATABASE Yins
     FROM Yinsdbbak 
     WITH NORECOVERY
    -- Restore the log backup.
    RESTORE LOG Yins 
     FROM yins01_log
     WITH RECOVERY, STOPAT = '01-18-2006 11:30'
    完成还原后务必要执行如下sql 指令, 目的是检查与修正数据链结的错误. 
    set @dbname = 'Yins'
    exec ( 'dbcc checkdb( ' + @dbname + ' )' )
    exec ( 'dbcc checkalloc( ' + @dbname + ' )' )
    exec ( 'dbcc newalloc( ' + @dbname + ' )' )
    exec ( 'dbcc checkcatalog( ' + @dbname + ' )' )
    exec sp_updatestats
    
    SQL 2K 在线求助参考主题
    Restore Log -> 
    RESTORE
     交易记录文件备份
     如何还原到某个时间点 (Transact-SQL)
    如何还原到失败点之前的状态 (Transact-SQL)
    
    * 若还原log 备份后显示是执行成功, 但数据库却呈现”还原中” 的状态致无法进入操作 (最后一个还原log备份误用with NoRecovery 的操作造成) . 可用sp_detach_db先缷除数据库, 再以sp_attch_db 附加数据库后即可进入数据库使用. (因为还原数据库是成功的, 才能如此操作重新启动)