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.


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.

1 Answer 1


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.

  • You did not address the CU-GDR option from my question. If you open the GDR link, you will see that GDR table has got CU-GDR and GDR. For example: you will see CU29 (in 1st table - that's the CU path), and the 2nd table (GDR path) has CU29 GDR and GDR. What's the difference between CU29 vs CU29 GDR vs GDR that is right below the CU29 GDR?
    – sqlguy
    Aug 19, 2022 at 17:25
  • 1
    It does answer it, anything with a CU follows the CU base. The GDR at the end only means that this was a GDR release on top of that specific CU for the CU train and not GDR train. Aug 19, 2022 at 17:26
  • Confusion is because they have provided the CU patches in the GDR table. When would one apply a CU29 GDR? Is it when they are on the CU29 path? And say I apply the CU29 GDR on top of RTM, then do I get on the CU path or GDR path?
    – sqlguy
    Aug 19, 2022 at 17:27
  • CU29 GDR is CU29 plus the GDR. The GDR came out after CU29, so you need some way to patch CU29 installs. If you install CU29 GDR you will be on the CU train. Note that once you are on the CU train, the only way to get GDRs is to move up to the latest CU, as the GDR only released for RTM and the latest CU. Aug 20, 2022 at 20:38

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.