OK, let’s get the awkwardness out of the way first: SQL Server 2016 SP2 CU10 is actually a fixed version of CU9. If you watched the SP2 CU9 blog post, you’ll note that people started hitting weirdness with the CU9 version numbers right away, then Microsoft added a note to the KB article telling you to hold off on CU9, and now…the CU9 KB article page has vanished altogether.
I understand how it is. I’ve had weekends like that, weekends that went so poorly that I wanted to erase all memory of what I did. Unfortunately, there’s the Internet. The Internet never forgets. (That’s not true for the cloud though: the cloud forgets all the time.)
Anyhoo, CU9 is dead to Microsoft, and CU10 replaces it. Everything we said about CU9, that same stuff is fixed in CU10.
Moving on to SQL Server 2017 CU17 – which I’m sure is completely bug-free, and will not be removed from the Internet within 9 days of release. CU17 includes hotfixes like:
- Peer-to-peer replication fails if the host name is not uppercase
- Columnstore queries may return incorrect results
- Columnstore queries may return incorrect results (no no, this one is different)
- Columnstore queries may return incorrect results (look, you try building a database)
- Unexpected results for SSAS tabular mode queries (no no, not incorrect results. Just unexpected. Like if you expected correct results, these results would be, uh, unexpected.)
- Always On takes a smoke break when you do a cross-database transaction
- Access violation when you do a hash in batch mode
- Access violation when you do a hash in batch mode (look, stop blaming the messenger, maybe the first bugfix had a bug. You should be glad they caught it before it was released to you and pulled 9 days later, bucko.)
- Non-yielding scheduler when you do a hash in batch mode (STOP LAUGHING, this is a different bug)
- Non-yielding scheduler when you do a sort in batch mode
- Restore of a compressed encrypted backup fails (remember, test your restores, people – a successful backup doesn’t mean diddly)
Hoowee. I’m not even listing all of the bug fixes! Go get it, and … maybe not apply it in production right away. Maybe put it into your development environment for a couple of weeks. If it breaks your development server, well…hey, you can always say it was a code problem.