sql server 2008根据日志还原数据库的例子

发布时间:2020-01-08编辑:脚本学堂
有关sql server 2008中根据日志文件还原数据库的方法,把数据库还原为发生崩溃之前的状态,来看具体的数据还原操作实例吧。

sql server 2008根据日志还原数据库
 

--先还原完全备份(还原日志必须在还原完全备份的基础上进行) 
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:datazyyp_log.bak' with recovery,stopat=@dt 
go 

完成以上操作,所需要的几个条件:
1、此数据库有原始的状态[备份/新建库]。
2、在这个原始状态之后,日志没有被删除过。
3、记住你误操作的时间。

如果删除过日志,或者说日志不是最初的状态,则无法根据日志进行数据库还原操作。