SQL Server CU補丁與GDR補丁區別
2025-03-19 22:42 瀟湘隱者 閱讀(764) 評論(2) 收藏 舉報在SQL Server數據庫中的補丁有GDR補丁和CU補丁,關于兩者的區別以及一些疑問,下面簡單總結一下:
GDR(General Distribution Release)和CU(Cumulative Update)是SQL Server基線版本的兩種不同更新服務選項。基線可以是RTM(Release to Manufacturing)版本或Service Pack(服務包)版本。個人有時候出于方便或習慣方面的原因,會將其叫為CU補丁或GDR補丁。有些正式的翻譯為累積更新(CU)和通用分發版本(GDR). 文中可能在這兩者之間切換,希望大家不要糾結這個細節。
CU補丁(累積更新)
CU(累積更新)包含基于RTM/SP 以來的累計更新。它包含累積的一些功能修復和安全更新以及功能增強(Feature Enhancements)。如果有SP補丁的話(有些SQL 版本有SP補丁,有些SQL版本沒有),CU表示從上一個SP補丁包開始添加的功能修復和增強功能,并將包含在下一個SP補丁包中。而從SQL Server 2017開始,沒有了SP補丁,CU補丁(累積更新)就跟之前的SP補丁一樣。CU(累積更新)是累積性的,例如CU15,則包含前面從RTM開始,CU1,CU2....到CU14的所有累加的功能修復和安全更新。
這里展開說一下SP補丁與CU補丁的關系。
CU(累積更新)的安裝類似于SP補丁包的安裝。
對于SQL Server 2016 及更低版本:
在安裝CU補丁之前,請確保SQL Server實例處于該CU補丁的正確SP級別。 例如,在為 SQL Server 2016 實例應用 SP2 之前,不能對 SQL 2016 SP2 應用 CU17。CU補丁的編號會在SP后從1重新開始。
也就是說安裝CU補丁前,必須安裝了對應的SP補丁,CU補丁和SP補丁是有對應關系的。此時的CU不包含SP之前的累積更新補丁。
另外,對應給定的SP基線應用最新的CU,而無需為該服務包應用以前的 CU。 例如,若要為 SQL Server 2016 SP2 實例應用 CU17,可以跳過將以前的更新應用到 CU14、CU15 和 CU16(如果未安裝)并直接應用 CU17。CU17包含了CU14、 CU15和CU16的補丁。
對于SQL Server 2017及更高版本,始終可以應用可用的最新 CU。 從SQL Server 2017開始不再提供SP補丁包,只提供累積更新(CUs),以前只需要安裝SP補丁包,現在改為安裝累積更新補丁(CUs)。換個角度來說,SQL Server 2017 及更高版本不存在任何 Service Pack包了。
GDR補丁(通用分發版本)
通用分發版本,GDR補丁是針對特定問題的安全更新或關鍵修復。GDR(General Distribution Release,通用分發版本)更新是SQL Server的一種維護選項,主要用于提供關鍵的安全修復和高優先級的穩定性修復。以下是 GDR 更新包含的具體內容:
安全更新(Security Updates)
GDR 更新主要包含針對SQL Server 的安全漏洞修復。這些更新旨在解決可能被利用的安全問題,例如權限提升、數據泄露或拒絕服務攻擊等。安全更新通常由微軟安全響應中心(MSRC)發布,以應對已知的安全威脅。
關鍵穩定性修復(Critical Stability Fixes)
除了安全更新外,GDR 還可能包含一些關鍵的穩定性修復。這些修復用于解決可能嚴重影響系統運行的問題,例如導致數據庫崩潰或數據損壞的嚴重錯誤。這些修復通常經過嚴格測試,確保不會引入新的問題。
累積性更新(Cumulative Updates)
GDR 更新也是累積性的,這意味著每個新的 GDR 更新都包含之前所有 GDR 更新的內容。用戶只需安裝最新的 GDR 更新即可獲得所有必要的安全和穩定性修復。這種設計減少了用戶需要安裝的更新數量,簡化了更新管理。
GDR補丁不包含的內容
功能增強(Feature Enhancements):GDR 更新通常不包含新功能或功能增強,這些內容通常在 CU(Cumulative Update,累積更新)中提供。 非關鍵性修復(Non-Critical Fixes):GDR 更新專注于解決高優先級問題,不會包含一些非關鍵性的功能修復或改進。
那么現在來回答下面幾個問題:
在SQL Server數據庫中CU補丁是否包含GDR補丁呢?
答:CU補丁包含GDR補丁中的安全更新和關鍵穩定性修復,從數學概念上理解的話,GDR補丁只是CU補丁的一個子集。當然前提是時間線上,CU補丁是GDR補丁后續發布的補丁。更多信息,你可以看看鏈接On Cumulative Updates and GDRs[1]

GDR補丁包含CU補丁嗎?
答:如果嚴謹的來說,有些GDR補丁和這個GDR之前的CU補丁肯定有交集,但是就如上面所說,GDR補丁只是CU補丁的一個子集,那么GDR肯定不能包含CU的所有補丁修復,但是會包含部分補丁修復。而且GDR中不包含功能增強與非關鍵性修復。
打補丁時選擇CU補丁還是GDR補丁?如何選擇?
GDR更新的主要目標是提供關鍵的安全和穩定性修復,確保 SQL Server 系統的安全性和可靠性。它適用于那些希望最小化更新風險的生產環境,特別是那些對系統穩定性要求較高的場景。如果需要更全面的功能修復和改進,可以考慮使用 CU 更新,但需要注意GDR和CU之間的切換限制。
可以既安裝CU補丁又安裝GDR補丁嗎?
在回答這個問題前,我們先來看看官方文檔[2]的介紹:
What are the GDR and CU update designations and how do they differ?
The General Distribution Release (GDR) and Cumulative Update (CU) designations correspond to the two different servicing options in place for SQL Server baseline releases. A baseline can be either an RTM release or a Service Pack release.
GDR updates – cumulatively only contain security updates for the given baseline. CU updates – cumulatively contain all functional fixes and security updates for the given baseline. For any given baseline, either the GDR or CU updates could be options (see below).
If SQL Server installation is at a baseline version, you can choose either the GDR or CU update. If SQL Server installation has intentionally only installed past GDR updates, then choose to install the GDR update package. If SQL Server installation has intentionally installed previous CU updates, then chose to install the CU security update package. Note: You are allowed to make a change from GDR updates to CU updates ONE TIME. Once a SQL Server CU update is applied to a SQL Server installation, there is NO way to go back to the GDR update path.
翻譯如下所示:
GDR(General Distribution Release,通用分發版本)和 CU(Cumulative Update,累積更新)對應于兩種不同的可用于 SQL Server 基線版本的服務選項。基線可以是 RTM 版本或 Service Pack 版本。
GDR更新: 僅累積包含針對給定基線的安全更新。
CU更新: 累積包含給定基線的所有功能修復程序和安全更新。
對于任何給定的基線,GDR 或 CU 更新都可以是選項(見下文)。
如果 SQL Server 安裝了基線版本,則可以選擇 GDR 或 CU 更新。
如果 SQL Server 安裝有意只安裝了過去的GDR更新,則選擇安裝GDR更新包。
如果 SQL Server 安裝有意只安裝了以前的CU更新,則選擇安裝CU安全更新包。
注意:您僅有一次機會可以將 GDR 更新更改為 CU 更新。一旦 SQL Server CU 更新應用于 SQL Server 安裝,將無法返回到 GDR 更新路徑。
1: https://sqlblog.org/2022/06/24/cu-vs-gdr
[2]2: https://learn.microsoft.com/en-us/answers/questions/240590/cant-upgrade-sql-server-2016-to-latest-cu-update
浙公網安備 33010602011771號