在我的环境中,有一些服务器运行在本机备份和Ola Hallengren计划上。我们的服务器是2008、2012和2014年的组合。所有完整备份将在上午12点进行,日志备份每15分钟进行一次。
我以前从来没有考虑过夏时制,所以请告诉我我应该做什么调整。
12点的完全备份会受到影响吗?日志备份会发生什么?
发布于 2017-10-30 13:14:59
Server专家保罗·兰德尔在夏时制如何影响灾难恢复?中讨论了这个主题。这是一个相对较短的帖子,所以我引用它的全部。由于您关心事务日志备份,所以我还重点介绍了这篇文章中的一些内容,以引起您的注意。
众所周知,Server正确地处理夏时制(DST),所以您为什么要关心呢?在DST结束时,当时钟返回一个小时(在美国总是在02:00 )时,SQL实际上暂停了一个小时(至少在SS2000之前)。这意味着,如果您有一项任务每15分钟执行一次,那么在01:45的作业执行和02:00的作业执行之间将有75分钟的间隔。这是因为在02:00时,时间被设置为01:00,但是所有作业的下一次运行时间保持不变--所以您的作业直到下一个预定时间02:00才能执行。所以,在北半球,每年秋天,在南半球,每年春天,你都会失去一个小时的SQL Agent作业。不过,你为什么要在乎呢?嗯,这取决于什么工作会被推迟一个小时。如果您的作业每15分钟进行一次日志备份,那么在DST结束的当天,日志备份之间实际上会有75分钟的间隔。如果您有一个服务级别协议(SLA),在发生灾难时,最大损失的工作时间限制在15分钟,那么在这75分钟内,您可能无法满足该SLA!这可能是一个相当大的问题,特别是当某件事情在那一小时内出了问题(与其他任何时候不太可能出错,但仍然有可能)。在这种情况下,您需要找到另一种解决方案。解决这个问题的几种方法我能想到:
这两种解决方案都是可行的,但我认为最好的解决方案是创建一个在01:59运行的SQL Agent作业,并创建额外的备份作业,以便在01:00、01:15、01:30和01:45运行。我不明白为什么这不可能。今天上午10点36分,我创建了一个简单的代理作业,将日期打印到一个文件,并将其设置为09:40执行--在过去。然后,我将我的系统时间设置为一个小时,并完美地执行该任务。这个解决方案的唯一缺点是,您需要使用嵌入在作业步骤中的to代理SPs来创建和调度额外的作业,以便您的01:59工作繁琐但不困难。也许有人能给我发个剧本,我会把它作为后续博客?所以,随着DST在11月4日结束,这对你来说绝对是一件值得注意的事情,即使你不想去处理额外的一个小时的暴露。顺便说一句,今年DST开始和结束的日期发生了变化。KB文章931975讨论了Server的哪些部分不知道更改的日期,以及您可以如何处理它。
https://dba.stackexchange.com/questions/189663
复制相似问题