-2

There are 2 paths to patching SQL server. Either the SQL CU (cumulative) upgrade or GDR (critical) upgrade.

CU includes functionality fixes and security fixes (https://support.microsoft.com/en-us/topic/kb4047329-sql-server-2017-build-versions-346e8fcd-c07c-5eeb-e10b-e3411ba8d8dd#cu)

GDR only includes security/critical fixes (https://support.microsoft.com/en-us/topic/kb4047329-sql-server-2017-build-versions-346e8fcd-c07c-5eeb-e10b-e3411ba8d8dd#gdr)

Example: Assuming I am on RTM, then it is clear that if I apply CU29 (KB5010786) then I get the cumulative updates from start upto CU29 including the functionality fixes and security fixes.

Question:

Within the GDR table, I can see CU-GDR and GDR

Assuming I have RTM, then, does installing GDR (KB5014354) only apply that 1 fix?, and applying CU29 GDR (KB5014553) apply this & all previous fixes?

The table header (1st column) on both the tables (CU and CU-GDR/GDR) says Cumulative and this is adding to my confusion because -> if both CU-GDR and GDR are cumulative, then what is the difference between CU-GDR and GDR? Example: When would I choose CU-GDR29 vs GDR (the record under the CU-GDR29 in the table)?

I glanced through the documentation in the links given at the bottom of the above link, but couldn't find an answer to my question.

enter image description here

0

1 Answer 1

4

Assuming I have RTM, then, does installing GDR (KB5014354) only apply that 1 fix?

GDRs are cumulative as well, so applying the latest GDR also applies all previous GDR included fixes. All CUs and all GDRs (since service packs are gone, no point talking about them) are cumulative.

Think of it this way, when the version changes then all previous fixes are in that version. If you're running a CU, that includes various other non-security changes as well. If you're on a GDR, the version number still increases but it's lower than any CU number. Thus, a GDR with a higher version number than another GDR is cumulative of all previous versions, of which there will only be GDR releases below that version number. Thus, all GDRs are built off the previous GDR code branch and only include GDR related items. CUs run the same way except they include all changes.

The above was not true for service packs, which they are luckily no longer around.

When would I choose CU-GDR29 vs GDR (the record under the CU-GDR29 in the table)?

You can only choose GDR if you're on RTM or on the GDR train. You can choose CU-GDR29 if you're on RTM, CU train, or GDR train. If you're already running on the CU train, then you must apply the CU GDR as you'll be unable to apply the GDR only as I explained above.

5
  • So is CUx+GDR like security update (GDR) for that CU?
    – variable
    Oct 26 at 19:50
  • 1
    Whatever the latest CU that was out at the time of a GDR will get the GDR fixes on top of that CU, only. This is because the CU and GDR paths are different bases and thus different versions. You wouldn't be able to patch a GDR on top of a current CU train if you're on the CU train since the version for the CU is much higher than the GDR as I've stated above. Oct 28 at 0:38
  • If you see this learn.microsoft.com/en-us/troubleshoot/sql/releases/…, and the latest picture in my question, there is GDR and CU separate like you say. Plus there is GDR on top of CU as well (example CU8 + GDR) which is a security fix on top of the CU. Similarly learn.microsoft.com/en-US/troubleshoot/sql/releases/…
    – variable
    Oct 28 at 2:57
  • The question is: What is the difference between CU-GDR and GDR? If you update the answer saying this is different to the usual GDR, and is just a security fix on top of a CU then I can mark this as an answer.
    – variable
    Oct 28 at 2:59
  • 3
    And the question was answered, as I stated in my previous comment. Oct 28 at 14:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.