根据这个 Microsoft 链接,SQL Server 12.0.6372.1 需要任何至少具有 SQL 2014 SP3 的系统,所以我的前任通过 SP3 安装它。现在版本是“2014 (SP3-CU-GDR) (KB4535288) - 12.0.6372.1”。
由于该安全补丁仅修复了 Reporting Services 的特定问题,并且比 CU4 包小,因此我也应该安装 CU4 补丁的 ISTM。
但是怎么做?我是先卸载 KB4535288,然后安装 KB4500181 (CU4),然后重新安装 KB4535288,还是可以将 KB4500181 放在 KB4535288 之上(这似乎会覆盖 KB4535288 文件。
#TL;博士
您目前无需执行任何操作即可获得 CU4 中包含的修复程序。它们已经在那里,即使@@VERSION 错误地建议您拥有 GDR(并且,正如您在其他地方所读到的,GDR 不包含 CU 修复)。如果您想了解更多背景信息,请继续阅读。
#背景
补丁是累积的,包括安全更新,这意味着它们包括该分支中所有以前的补丁。(压缩的可执行文件)文件的大小不是确定它是否包含早期补丁的非常可靠的方法。
需要明确的是,每个 SQL Server 版本(包括 SQL Server 2017 之前的每个服务包)都是我所说的“主分支”。一旦该主分支发布,他们稍后需要增强,通常是在性能、稳定性或安全性方面。他们以 GDR 和 CU 更新的形式发布这些修复程序。这些成为主分支之外的两个独立分支:
在您的情况下,(可以理解的)混淆来自 @@VERSION 在名称中返回 CU 和 GDR 的事实,这是荒谬的。当补丁第一次发布时,我抱怨这种混乱,经过长时间的辩论,他们在知识库文章和其他文档中修复了术语。但是现在修复 @@VERSION 在已经分发的引擎构建上返回的内容为时已晚(这个问题今天仍然存在,因为那是 CU 分支上的最后一次更新)。
这是很多背景知识,但总而言之,我可以向您保证:
我之前说过以下内容,并且不相信我与我在这里所说的任何内容相矛盾:
您可以在此处查看 SQL Server 2014 更新列表。
在这种情况下,您可能无法将任何内容应用于 SQL Server 2014,从而将任何内容添加到 12.0.6372.1。字面上没什么。卸载 KB4535288 以安装 CU4 仅意味着您将删除KB4535288 中的安全修复程序。我认为绝对没有理由这样做。不,您不能只是“将 CU4 放在 KB4535288 上”——好吧,您可以尝试,但您不会走得太远,因为安装程序会识别出您已经拥有 CU4 中的所有内容。