author:david euler
date: 2004/10/16
email:
有任何问题,请与我联系:)
db2中可以使得数据库回复到指定的时间点,sql server数据库的recovery model为full 或者bulk copy的时候,是可以从日志来恢复数据库的。实际上日志中记录的一条一条的transact sql语句,恢复数据库的时候会redo这些sql语句。
前提条件:mybbs是数据库test中的一个表,
数据库test的recovery model为full,auto close,auto shrink两个选项未选中。
数据库test的data files和log files均为默认的自动增长状态。

a:2004/10/13,16:00进行数据库备份,backup database test to disk='d:\db\1600.bak' with init
b:2004/10/14,13:00对数据库进行了update,delete等操作;
c:2004/10/15,18:00使用delete mybbs where id>300时,语句误写成delete mybbs,因而删除了表mybbs中的所有数据。
现在在c点,c点对数据库进行了误操作,我们希望数据库能够恢复到c之前的状态,比如恢复到10月15日17:59分的状态。
要恢复数据库b点,使用的是a点备分的数据库1600.bak;而使用的日志备分是最新的备分1820.logs;因而进行如下操作:
--备分日志:
backup log test to disk='d:\1820.logs' with init