术语解释
RTM:Release to Manufacturing/Release to Market,即Original release version原始发布版本。
GDR:General Distribution Release, 只包含关键安全修复,不包含累积更新中的其他功能修复或非安全修复,适用于生产环境需要最小变动的场景。
CU:Cumulative Update,累积更新, 包含到该 CU 发布为止的所有安全与非安全修复。
html
Security Update for SQL Server 2019 RTM GDR (KB5068405)
Security Update for SQL Server 2019 RTM CU (KB5063757)
SQL Server 2019 RTM Cumulative Update (CU) 32 KB5054833
其中 Security Update for SQL Server 2019 RTM GDR (KB5068405)和Security Update for SQL Server 2019 RTM CU (KB5063757)的Classification都是Security Updates,而SQL Server 2019 RTM Cumulative Update (CU) 32 KB5054833的Classification是Updates
html
Build number or version Service pack Update Knowledge Base number Release date
15.0.2155.2 None GDR KB5068405 November 11, 2025
15.0.4440.1 None CU32 + GDR KB5063757 August 12, 2025
15.0.4430.1 None CU32 KB5054833 February 27, 2025
其中KB5068405的Update为GDR,KB5063757的Update为CU32 + GDR,KB5054833的的Update为CU32
遇到的3个问题
1、为什么发布日期新的反而版本低
2025-08-12发布:Microsoft SQL Server 2019 (RTM-CU32-GDR) (KB5063757) - 15.0.4440.1 (X64)
2025-11-11发布:Microsoft SQL Server 2019 (RTM-GDR) (KB5068405) - 15.0.2155.2 (X64)
2025-11-11 发布的GDR,版本号反而比 2025-08-12 发布的 CU32+GDR 低。原因在于,SQL Server 的补丁分为两条分支线,两条分支的版本号是各自独立递增的,所以不能简单按发布日期来比较版本高低。
GDR(General Distribution Release通用分发版本)分支:只包含关键安全修复,某个基础版本(如 RTM 或某个 CU)单独递增。
CU(Cumulative Update累积更新)分支:包含所有安全与非安全修复,基于 RTM 不断累积迭代从CU1、CU2......直到 CU32,包含到该 CU 发布为止的所有安全与非安全修复。
具体来说
CU32+GDR:这是 SQL Server 2019 RTM CU32的Security Update,意思是它是基于 CU32(2025-02-27,KB5054833,15.0.4430.1)分支的GDR,在CU32的基础上加上安全补丁后变成 15.0.4440.1,这个CU32+GDR(2025-08-12,KB5063757,15.0.4440.1)包含了 CU32
GDR:这是 SQL Server 2019 RTM的Security Update,意思是基于原始 RTM(15.0.2000.5)分支的 GDR,在原始 RTM(15.0.2000.5)的基础上加上安全补丁后后变成 15.0.2155.2
所以即使 GDR(2025-11-11,KB5068405,15.0.2155.2)的发布日期更新,它的版本号(15.0.2155.2)仍然小于基于 CU32 的 CU32+GDR 的版本号(15.0.4440.1) 。
2、为什么从低版本的 GDR 升级到高版本的 CU32+GDR 会报错
当前实例版本: GDR(2025-11-11,KB5068405,15.0.2155.2)
尝试升级到:CU32+GDR(2025-08-12,KB5063757,15.0.4440.1)
升级窗口报错:此计算机上没有可以更新的 SQL Server 实例或共享功能。
原因不是"版本号不够高"(目标KB 15.0.4440.1 确实高于 已安装KB 15.0.2155.2),而是目标 KB 的发布日期早于当前已安装 KB 的发布日期。SQL Server 安装程序在升级时会检查目标补丁的发布日期,如果目标补丁比当前已安装的补丁更旧,安装程序会拒绝升级。
所以,不能从 2025-11-11 的 GDR 降级到 2025-08-12 的 CU32+GDR。
3、为什么从发布日期更老的 CU32+GDR 升级到发布日期更新的GDR会报错
当前实例版本:CU32+GDR(2025-08-12,KB5063757,15.0.4440.1)
尝试升级到:GDR(2025-11-11,KB5068405,15.0.2155.2)
升级窗口报错:此计算机上没有可以更新的 SQL Server 实例或共享功能。
原因:数据库版本无法降级,无法从15.0.4440.1降低到15.0.2155.2
4、能否通过"先升 CU32,再升 CU32+GDR"绕过限制
CU32:这是 SQL Server 2019 RTM的CU,意思是基于原始 RTM(15.0.2000.5)分支的CU,在原始 RTM(15.0.2000.5)的基础上加上累计补丁后后变成 15.0.4430.1
既然不能把当前版本GDR直接升级到 CU32+GDR,那么可不可以先把当前版本GDR升级到 CU32,再升级到 CU32+GDR?
答案:同样不能
原因:CU32的发布日期2025-02-27比当前 GDR发布日期2025-11-11更早,安装程序同样会拒绝。并且CU32+GDR已经包含了CU32,我们连GDR升级到 CU32+GDR都不行,更不可能GDR从升级到比 CU32+GDR还低的CU32
正确的升级路径:只能升级到发布日期晚于或等于当前 KB、且版本号更高的补丁。例如,升级到 2025-11-11 发布的 Microsoft SQL Server 2019 (RTM-CU32-GDR) (KB5068404) - 15.0.4455.2 (X64)
SQL Server 2025 实测结果
当前版本:2026-5-12发布的Microsoft SQL Server 2025 (RTM-CU4-GDR) (KB5089899) - 17.0.4040.1 (X64)
目标版本:2026-5-20发布的Microsoft SQL Server 2025 (RTM-CU5) (KB5084896) - 17.0.4045.5 (X64)
升级结果:升级成功
当前版本:2026-4-14发布的Microsoft SQL Server 2025 (RTM-GDR) (KB5084814) - 17.0.1110.1 (X64)
目标版本:2026-5-20发布的Microsoft SQL Server 2025 (RTM-CU5) (KB5084896) - 17.0.4045.5 (X64)
升级结果:升级成功
GDR升级到GDR没问题
GDR升级到CU+GDR没问题
GDR升级到CU没问题
CU升级到CU没问题
CU升级到CU+GDR没问题
CU+GDR升级到CU没问题
CU+GDR升级到CU+GDR没问题
CU和CU+GDR无法升级到GDR,因为CU和CU+GDR的KB版本永远比GDR的KB版本更高
总结:同一SQLServer版本下的CU或GDR或CU-GDR各个小版本之间的KB补丁升级,必须同时满足两个条件才能升级,一是新KB的版本更高,二是新KB的日期更新。