日期:2014-05-16 浏览次数:20499 次
本功能偶自己亲自用过.所以可以确保好用.但偶只是处理这一个问题,如果各位还有什么不同意见或补充,请给我留言,我再测试更新本文,
我们在操作数据库是,难免有些误操作,如果无法恢复,将会给我们造成很大的损失.这里就给大家说一个,当误操作发生时,我们可以把数据库还原成误操作之前的状态.
--接下来,我们要先还原完全备份(还原日志必须在还原完全备份的基础上进行) RESTORE DATABASE YP FROM DISK='D:\YP.bak' WITH REPLACE,NORECOVERY GO --**这里的"NORECOVERY"非常关键,手动还原在初始数据库,可能会用日志还原时报错.** --将事务日志还原到删除操作前[50分钟前](这里的时间对应上面的删除时间,并比删除时间略早 DECLARE @dt datetime SELECT @dt=DATEADD(n,-50,GETDATE() ) --获取比表被删除的时间略早的时间:YP_LOG.bak是发生误操作后的日志备份 RESTORE LOG YP FROM DISK='D:\DATAZY\YP_LOG.bak' WITH RECOVERY,STOPAT=@dt GO
这个功能以前只是在书本上了解过,后来一直没用过,今天突然犯了个错误,一不小心把我的数据给删除了!这是我辛辛苦苦半个月的整理数据呀!就这么个不小心给删除了!后来我想到这个功能,就在网上找了一下,结果又还原到误操作之前的数据库了!哈哈.
这里应该有几个条件:
1,这个数据库有原始的状态[备份/新建库].
2,在这个原始状态之后,日志没有被删除过.
3,记住你误操作的时间.
如果你删除过日志,或者说没有最被的状态,那应该就没有戏了!