设置:Sql Server 2008 R2,数据库设置有完整恢复模式。
我已制定维护计划,用于备份服务器上多个数据库的事务日志。计划为每个数据库在子目录中创建备份文件,验证备份完整性是否已启用,并使用备份压缩。该作业设置为在工作时间(上午 8 点至下午 6 点)每 2 小时运行一次。
我已经测试了该作业,它运行良好,并按预期创建了日志备份文件。但是,据我所知,一旦备份了事务日志,就可以截断事务日志。我在 Sql Server 维护计划设计器中没有看到任何可以执行此操作的选项。我该如何设置?
答案1
严格来说,日志备份是截断刚刚备份的日志部分。但是,截断日志只是标记日志条目以供重复使用 - 这并不意味着物理日志文件会缩小。这将是一个单独的(手动)步骤,实际上,如果您的日志文件首先需要增长到该大小,那么反复缩小/增长它们只会增加碎片并损害性能。
摘要:如果您正在进行定期日志备份,那么您不必担心手动截断日志(如果您无论如何手动执行此操作,则会破坏您的日志备份链)。
答案2
您在哪里读到有关截断事务日志的内容?完全是胡说八道。
如果您确实截断了日志,那么您实际上会使任何日志备份的恢复无效。您只能恢复到上次的完整备份。这就是为什么维护计划设计器或 BACKUP LOG 命令中没有选项的原因。
截断日志的情况很少见:在某些 DR 情况下,如果磁盘发生故障,或者磁盘已满。否则,这简直是愚蠢至极。
答案3
将数据库设置为简单恢复或进行完整的夜间备份并清除日志而不会丢失信息。
以下是有关如何阻止 SQL Server 数据库事务日志意外增长的 MS 文章
- MSKB873235,从 SQL Server 数据库中的完整事务日志中恢复