This month’s release has a lot of new feature goodness: the Consultant Toolkit can automatically upload the results to Amazon S3, plus sp_BlitzCache adds a new sort order to better catch unparameterized queries burning up CPU, a new warning for selects that are doing writes (other than >500MB spills, which we’ve been warning you about for years), and support for SQL Server 2019’s air_quote_actual plans.
To get the new version:
- Download the updated FirstResponderKit.zip
- Azure Data Studio users with the First Responder Kit extension:
ctrl/command+shift+p, First Responder Kit: Import.
- Download the updated Consultant Toolkit in your account
- EU customers: check your email for the updated version from Gumroad, our European distributor
Consultant Toolkit Changes
Updated the First Responder Kit with this month’s script updates, plus:
- Improvement: the –upload command line switch now uploads the data directly to a bucket in your Amazon S3 account. This helps you set up a scheduled task at the client’s office to send you the data weekly or daily – enabling you to keep tabs on their SQL Server’s health without having to constantly VPN in. See the S3 uploading documentation for more details.
- Improvement: added Plans by Query Hash tab using sp_BlitzCache’s new @SortOrder = ‘query hash’ option. This is basically the same as @SortOrder = ‘cpu’, but it filters for queries with multiple plans in the cache with the same query hash.
- Fix: on the Databases tab, on the Total line, the “# of Data Files” and “LOB Reserved GB” columns were swapped. This only affected the Total line though, not the individual databases.
- Fix: on the Databases tab, data sizes are now populated for databases with NVARCHAR names.
- Fix: formatting improvements.
- Improvement: added Uninstall.sql for those of you who wanna nuke it from orbit. (#2080, thanks ShawnPOWER for the request and Emanuele Meazzo for the code.)
- Improvement: new @SortOrder = ‘query hash’ to detect unparameterized queries that are causing you problems. It’s really grouping queries together by query hash, then sorting them by CPU. (#2051, thanks Erik Darling.)
- Improvement: now detects selects that caused writes. (#2063, thanks Erik Darling.)
- Improvement: SQL Server 2019’s air_quote_actual plans are back! I figured out a workaround to the bugs I was hitting in 2019: if the datalength of the sys.dm_exec_query_plan_stats plan is longer than the normal plan, then I return it – otherwise I return the normal estimated one. (#2109)
- Fix: updated Paul White’s blog URLs to his new site. (#2099, thanks Peter Vandivier.)
- Fix: typo caused @Help = 1 output to have one extra result set. (#2111, thanks TheUserNameSelectionSucks (ha!) for the bug report.)
- Fix: @CheckProcedureCache was being skipped for some time zones, especially British Standard Time users. I had to fix this before stepping foot on the Isle of Man again, naturally. (#2096, thanks PlanetMatt for the delightfully easy-to-reproduce bug report.)
- Improvement: faster compression analysis on partitioned databases. (#2065, thanks Erik Darling.)
- Fix: last month’s release broke on case-sensitive systems, fixed. (#2097, thanks sm8680 for the bug report.)
When you have questions about how the tools work, talk with the community in the #FirstResponderKit Slack channel. If you need a free invite, hit SQLslack.com. Be patient – it’s staffed with volunteers who have day jobs.
When you find a bug or want something changed, read the contributing.md file.
When you have a question about what the scripts found, first make sure you read the “More Details” URL for any warning you find. We put a lot of work into documentation, and we wouldn’t want someone to yell at you to go read the fine manual. After that, when you’ve still got questions about how something works in SQL Server, post a question at DBA.StackExchange.com and the community (that includes us!) will help. Include exact errors and any applicable screenshots, your SQL Server version number (including the build #), and the version of the tool you’re working with.
First of all – thanks Brent, et al, for all these wonderful tools, information and training.
As start using the First Responder Kit, I had a question/suggestion. Can/is the sp_BlitzWho be parameterized to look for specific output columns. for instance, the sp_BlitzFirst proc warned be about implicit transactions.
When I use the sp_BlitzWho it would be nice to limit that result to @is_implicit_transaction = 1, the same for some other fields.
Tim – you’re welcome, glad you like it! About the question – check out the last section of the post about how to contribute to the code or get support.
Enjoyed your travelog entry about Amsterdam. Doesn’t every son want to send this text message to his father.
“Dear Dad: For all you do, this Bud’s for you…”
So the install-all-scripts is now only supported from 2016 and above. There are temp tables created in it that use the following syntax
DROP TABLE IF EXISTS #grouped_interval;
This is not valid on 2014 or 2012. Is there a version that will work on 2014?
Ben – can you read the last section on how to get support? The blog post comments aren’t a great way for us to manage that, unfortunately. Thanks for understanding!
I’ll go ahead and answer this since I’m here – all-scripts is for people who can install (cough) all of the scripts. If you’re pre-2016, you can’t – you need to use the one that says no-query-store.