If we were playing blackjack, the dealer would have just gone bust, and you’d have collected your winnings. Scattered amongst the pile of cash, Cumulative Update 22 includes:
Unfortunately, we no longer get full KB articles for each fix, and that’s a shame because CU 22 includes some really odd fixes like this one:
This fix enables QDS instance level memory limits by default on box edition. It prevents QDS from consuming more memory after certain limit by changing to READ ONLY mode.
I wish I could tell you more about why your Query Store will suddenly be going into read-only mode, what “box edition” is, or what the limits are, but I can’t, because Microsoft won’t tell us. Two sentences aren’t enough here.
That’s frankly unacceptable for enterprise database software that costs $7,000 per core.
I’m gonna be honest, dear reader: I’m beyond frustrated with the lack of quality documentation here. The changes are so undocumented and so big that I just don’t trust ’em anymore. I hope they turn things around and start documenting these problems, but in the meantime, you’d have to be pretty adventurous to install something like CU22 that can turn off your Query Store without warning, without telling you why.
Other updates in this CU include:
- FIX: Managed backup is not backing up the database when SQL Agent system jobs are changed to different name other than ‘sa’ in SQL Server 2017
- FIX: Unable to restore SQL Server database from previous versions on NVMe device partitioned in 4K block size
- FIX: Incorrect results can occur when you run linked server query with aggregates or joins on table with filtered index on a remote server in SQL Server 2017
- FIX: COMPILE blocking occurs when executing many concurrent stored procedures in SQL Server 2017
- FIX: Full-Text search auto crawl stops when AG goes offline in SQL Server
- FIX: Concurrent inserts against tables with columnstore indexes may cause queries to hang in SQL Server
- FIX: Upgrade script fails if you use Always On Failover Cluster Instance as a secondary replica in SQL Server
- FIX: SQL Server fails to start when remote admin connections are enabled and IPV6 is disabled on the host
- FIX: INSERT EXEC doesn’t work when you insert row containing explicit identity value into table with IDENTITY column and IDENTITY_INSERT is OFF by default in SQL Server
- SQL Server AG Helper/AG monitoring application waiting more than 30 seconds with epoll and futex_wait_queue_me wait type is unable to connect to SQL Server 2017 resulting in timeout and failover.
- FIX: Access violation exception occurs in Availability Groups in SQL Server 2017 under certain conditions
Here’s Cumulative Update 22. Good luck.
Well that’s terrifying.
You missed how the BOTTOM of the article (instead of a useful place like the TOP of the article states the following:
“Query Store notice
You must run this script if you use Query Store and you are updating from SQL Server 2017 Cumulative Update 2 (CU2) directly to SQL Server 2017 Cumulative Update 3 (CU3) or any later Cumulative Update. ”
The bottom is really a bad place for important things. I wonder how many people won’t see this, and what the effects are of not running the IMPORTANT script? It doesn’t say!
@ugh that’s been there for almost two years and was at the top for several CUs: https://support.microsoft.com/en-us/help/4052987/cumulative-update-3-for-sql-server-2017
It has moved to the bottom (instead of top) in later CUs because as folks update, it’s relevance decreases and it took some real estate at the top. Hopefully you’re not on SQL Server 2017 CU2 today. But if you are, that’s why that note remains.
This was an very unfortunate (in that it is inaccurate in it’s scope and terms used) blurb.
Later today we’ll be updating the docs page https://docs.microsoft.com/sql/relational-databases/performance/best-practice-with-the-query-store (under section “Using Query Store in mission-critical servers”) to accurately describe this scalability improvement – it is not a fix (that was another unfortunate internal term for every check-in that got used as-is).
Pedro – thanks for the heads up.
I appreciate your work to overcome the bad management decision to reduce mission-critical changes to two-sentence blurbs. Clearly, this isn’t working, and I hope Microsoft sees that sooner rather than later.
Feedback taken and transmitted.
About the update itself, it actually backports scalability improvements regarding memory management that are so important to keeping Query Store from becoming detrimental to a high-end system that is running mostly adhoc workloads, and suffering from perf issues as a result of Query Store was trying to keep up (which is why folks in this scenario disabled Query Store, more so when users aren’t leveraging SQL 2019 and it’s new Custom capture policy). This way we resource govern ourselves and allow the Query Store to cope better with these intensive adhoc scenarios.
Right, but as you can see, it needs more than a two-sentence blurb. This “tl;dr” approach to updates is hurting more than it’s helping.
The docs page is online now.
As a side note – “box edition” is pretty hilarious.
Box edition is the internal MS term for the retail product (Ent/Std/Dev etc.) as opposed to the PaaS offerings (Azure SQL Database or MI) as they share common code but certain features or optimisations might be released into the PaaS side of the house well before Box.