我一直在阅读SQL Server 文档并发现以下关于自动检查点的声明:
在后台自动发出以满足恢复间隔服务器配置选项建议的时间上限。自动检查点运行直至完成。自动检查点根据未完成写入的数量以及数据库引擎是否检测到写入延迟增加超过 50 毫秒来进行限制。
我试图理解“自动检查点运行至完成”的含义。我的母语不是英语,这句话对我来说听起来很奇怪。是否有任何检查点没有运行完成而只完成了一半的工作?
此外,我记得 Paul Randal 的一份声明,他提到如果 IO 延迟大于 20 毫秒,检查点进程将限制未完成的 IO。在关闭期间,该阈值增加到 100 毫秒以加快该过程。但是,SQL Server 文档建议使用 50 毫秒的阈值来限制自动检查点。阈值是否发生变化,或者我误解了这个概念?
对这些问题的任何澄清将不胜感激。
先感谢您!
“自动检查点运行至完成”只是意味着不,不存在只完成一半工作的自动检查点。
保罗所写的大部分内容都是“内部情况”,虽然不是秘密,但故意没有记录下来。除了公开记录的 50 毫秒油门触发器之外,很可能还存在一些未记录的复杂性。
当检查点可能干扰重要工作时,记录强制检查点放慢速度的触发器的存在非常重要。但没有必要记录细节,这些细节可能会发生变化。