Sybase数据库的备份策略 全备+增备

如果设置日志自动清除  则只需进行定期全量备份  不能增量备份

sp_dboption HFTEST,"trunc log on chkpt",true

--如果设置数据库不清除日志
sp_dboption HFTEST,"trunc log on chkpt",false

如果只有全备,恢复就是恢复到全备完成点。
如果是全备 + 增备, 恢复到全备完成点 + 增备任意时刻点(包括增备完成点)。

增备指的就是定时备份日志例句
例:dump tran 数据库名称 to 'D:\log.dat'

根据业务的实际情况,可以制定日志备份的时间间隔
比如:日志每天备一次,或者每小时备一次,或者15分钟备一次。

备份日志的内容 = 上次备份日志的时间 至 本次备份日志 之间的日志。

如果是全备后第一次备日志,则是全备至此次日志备份时的 日志。

dump transaction 数据库名称 with truncate_only

上面的语句是删除目前存在的所有日志。与自动清除日志比,这个是手动删除日志。
如果执行了这个,按照增备的逻辑,就不可能再做增备了,只能等到开启下一次全备后,才能开始新的增备。

dump tran with truncate_only 与 dump tran with no_log相比,功能是一样的。
dump tran with no_log是紧急情况下(日志已满)使用的一种特例,没有特殊情况,不要使用这个语句

 

实战实例

dump database hanghai_exp from 'D:\databak.dmp' --备份数据库
--设置数据库不清除日志
sp_dboption HFTEST,"trunc log on chkpt",false

在2021-02-01 18:00 想让数据库返回到 2021-02-01 12:00 当时的状态


--加载日志
1.dump tran HFTEST to 'D:\log.dat'

--将数据库恢复至备份时刻
2.load database HFTEST from 'D:\databak.dmp'

--利用数据库日志在备份基础上执行recovery 恢复到指定时间点
3.load tran HFTEST from 'D:\log.dat' with until_time =' 2021/02/01 12:00:00'

posted @ 2022-01-11 15:35  一只竹节虫  阅读(654)  评论(0编辑  收藏  举报