日期:2014-05-18  浏览次数:20553 次

备份与还原
创建数据库DB_RESTORE   创建表T_1(id   int,f   char(10))
然后进行完全备份
BACKUP   DATABASE   DB_RESTORE   TORESTOREDB  
当上面的完全备份实现了,该数据库的日志被截断了,对吧.
然后创建表T_2(f1   int,f2   int   ,f3   int)(此时会继续写LOG)
紧接着就备份日志
USE   [master]
BACKUP   LOG   DB_RESTORE   TO   RESTORELOG
最后就把T_1、T_2都删除
--------------------------------------

还原完全备份:                                
USE   [master]
RESTORE   DATABASE   DB_RESTORE   FROM   RESTOREDB  
WITH   NORECOVERY   --后面还原日志的时候说没有用上WITH   NORECOVERY
或者
USE   [master]
RESTORE   DATABASE   DB_RESTORE   FROM   RESTOREDB   --备份集只有1个
都失败
错误:
服务器:   消息   3101,级别   16,状态   2,行   2
因为数据库正在使用,所以未能获得对数据库的排它访问权。
服务器:   消息   3013,级别   16,状态   1,行   2
RESTORE   DATABASE   操作异常终止。
将DB_RESTORE   设置为单用户模式后再执行,同样报这个错误

但使用企业管理器来还原是成功实现的,利用上面的SQL却失败--郁闷!为什么??
虽然用TSQL失败了,但总算还原过来,终于看到T_1了!!
__________________________________________________________________________

接着想把T_2也还原出来,也就是利用日志来恢复数据了
USE   [master]
RESTORE   LOG   DB_RESTORE   FROM   RESTORELOG    
--失败报错:
服务器:   消息   4306,级别   16,状态   1,行   2
先前的还原操作未指定   WITH   NORECOVERY   或   WITH   STANDBY。请在除最后步骤之外的所有其它步骤中指定   WITH   NORECOVERY   或   WITH   STANDBY   后,重新启动该还原序列。
服务器:   消息   3013,级别   16,状态   1,行   2
RESTORE   LOG   操作异常终止。

这次使用企业管理器操作也失败,报同上的错误
----------------------------

最后请问我怎样才可以把T_2还原出来?

不使用log   explorer可以吗?




------解决方案--------------------
ding

------解决方案--------------------
http://community.csdn.net/Expert/topic/5122/5122922.xml?temp=.1943476
http://community.csdn.net/Expert/topic/5122/5122999.xml?temp=.2519953