|
在sql server中,常常会遇到误删除数据的情况,如何恢复呢?
--首先,备份事务日志(使用事务日志才能还原到指定的时间点),所以当如果吴操作的时候,首先要记录下当前的时间
--并且备份事务日志文件
BACKUP LOG sqlTest TO DISK= 'c:/sqlTest_log.bak ' WITH FORMAT
GO
--接下来,我们要先还原完全备份(还原日志必须在还原完全备份的基础上进行)
RESTORE DATABASE sqlTest FROM DISK= 'c:/sqlTest.bak ' WITH REPLACE,NORECOVERY
GO
--执行上一步的时候出现错误,然后把当前用户退出,然后重新登录执行就ok了
--将事务日志还原到删除操作前(这里的时间对应上面的删除时间,并比删除时间略早 )看情况,应该执行完上一步的以后,
---数据库不能操作了,知道下一步
RESTORE LOG sqlTest FROM DISK= 'c:/sqlTest_log.bak ' WITH RECOVERY,STOPAT='2011-08-31 22:40:01'
GO
--2011-08-31 22:48:01为要恢复到的时间点,至此恢复工作完成
--其中比较多的问题可能是:
--RESTORE 无法处理数据库 '********',因为它正由此会话使用。建议在执行此操作时使用 master 数据库。
--RESTORE DATABASE 正在异常终止
--解决办法就是关掉所有的链接
--本次测试是在sqlserver 2008 版本上测试通过。其中如果要恢复的话,应该要有一个完成的备份
use Db
select * from db.dbo.TB_test
|
|