分钟日志备份 - 错过的工作

Jon*_*420 3 sql-server backup sp-blitz

我尝试搜索此内容,但找不到关于此的现有问题。我正在考虑实施 Brent Ozar 的建议,为我们的关键数据库进行细致的备份。我没有一个很好的测试环境,我可以在其中尝试并获得有用的结果。我想知道日志备份作业是否运行超过一分钟,下一个每分钟备份作业会发生什么情况。在这些情况下,我假设作业会失败,但我担心它们会排队,我可能会陷入一个恶性循环,我永远无法赶上备份。其他人可以建议 SQL Server 将如何处理这种情况吗?此外,如果作业失败,它是否会“优雅地”失败(即,备份链没有中断,我可以继续使用日志进行恢复),还是会搞砸并破坏备份链?

另外,如果我在一天中也安排了完整和差异,并且正在运行一个详细的日志,它会保留完整和差异以供运行吗?

我很感激你们能提供的任何帮助。

Sco*_*red 5

你没有提到你的工作量,但我在我们的 OLTP 环境中每分钟运行一次日志备份,没有问题(当然,我们每秒不处理数千个事务)。如果日志备份恰好占用 1 分钟以上,则没有失败。当前作业完成后,该作业只会在分钟标记处再次运行。

正如布伦特在完整备份期间事务日志备份会发生什么情况中所说的那样?

备份是美丽的东西。您应该使用完整的,可能还有差异的,如果您处于完全恢复模式,请务必记录。你多久接受一次取决于你和你的老板。或者他们的老板。但这绝对不取决于你。除非你是你的老板。

完整备份期间的日志备份不会有任何伤害,如果完整备份失败并且您需要恢复某些内容,最终可能会有所帮助。

完整备份期间的日志备份不会截断日志。这必须等到完整完成后的第一次日志备份。

关于理解计划和长时间运行的作业的一些附加信息,我相信今天仍然适用:

当预定作业运行时间超过预定间隔时间段时会发生什么情况?例如,如果作业计划每 10 分钟执行一次并且需要 35 分钟才能完成,那么作业是否会在它仍在运行时再次执行?

在 SQL Server 最有价值专家 (MVP) 新闻组(SQL Server MVP 的私人论坛)上,Microsoft 发布了两个有关 SQL Server 代理的设计事实,可以帮助回答这个问题。首先,SQL Server 代理一次只运行一个作业实例。其次,SQL Server 代理在作业结束时计算下一次运行日期。因此,如果作业执行时间超过其预定间隔,则作业将在下一个重复点重新运行。例如,假设作业 A 以 1 分钟的重复间隔进行调度。作业 A 在 1:25 pm 开始并运行 1 分 45 秒。作业 A 仍在 1:26 运行,此时应该发生下一个计划的重复发生,并且 SQL Server 代理将一次只运行一个作业实例——因此在下午 1:26 没有任何事情发生,当作业 A 在 1 点结束时:下午 26:45,SQL Server 代理重置下次运行日期。根据指定的 1 分钟重复间隔,下一次运行作业的时间是下午 1:27