我安装了SQLServer2012STD版,包含1个数据库,处于完全恢复模式,因此日志快速增长,但我只需要在过去7天内恢复。
我能否每天安排一个完整的数据库备份(滚动7天),并在备份作业后立即截断t-日志?或者,保持文件大小尽可能小的最佳方法是什么?
发布于 2016-08-25 04:18:06
如果您需要能够恢复到任何时间点,那么您需要处于完全恢复模式(您就是这样)。在完全恢复模式下,除了完全备份之外,还需要执行事务日志备份。
执行完全数据库备份对日志文件没有任何影响,只有事务日志备份才会清除它并允许您重用空间。
当您处于完全恢复模式时,永远不要截断您的事务日志--这将破坏备份链,并且您将无法在时间恢复中完成一个点恢复。
事务日志备份可以随心所欲地运行,也可以经常地运行,以防止文件比磁盘空间更大或业务需要。我见过一些公司每天都在运行,而有些公司则在每一分钟和每隔一段时间运行它们。更频繁地运行它们的好处是,如果磁盘死了,那么在上次日志备份(假设它们位于不同的驱动器/硬件上)之后,您只会丢失数据。它还使您的日志备份文件更小,而且备份操作通常更快,因为它需要备份的较少。
您可以安排一个作业来清理您不再需要的旧日志备份文件(例如,在您的情况下超过7天)。
如果需要从备份恢复,则需要执行以下操作:
如果您不使用第三方工具进行备份(https://ola.hallengren.com/),我可以强烈建议使用Ola Hallengren的脚本吗?
发布于 2016-08-25 03:56:45
这取决于你的公司RPO和RTO。如果可以或可以接受丢失一些数据,则只需将数据库恢复模式切换到simple即可。但是你必须知道你将不能在时间恢复中执行一个点。
第二个更安全的选项是保持数据库处于完全恢复模式,并进行更多事务日志备份。
https://dba.stackexchange.com/questions/147829
复制相似问题