We spent Valentine’s Day removing the bugs from your chocolates. You’re welcome.
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 Databases tab now has all columns from sys.databases, making it easier to troubleshoot obscure stuff and new features.
- Improvement: the Deadlocks tab now only has the victims, and we only save each deadlock graph as a file once (not once per query involved in the deadlock.)
- Improvement: removed spaces from documentation file names for easier publishing in an Azure DevOps Server wiki. (#2273, thanks PierreLetter.)
- Improvement: added new priority 250 data size check. Only shows when @CheckServerInfo = 1. Gives you a quick idea of the size of the server you’re dealing with in terms of number of databases and total file size. (#2265)
- Improvement: updated unsupported-build checks now that SQL Server 2014 SP2 is out of support. (#2293)
- Fix: plans will no longer trigger both the nearly-parallel warning if they’re already parallel. This would happen when you had a parallel query whose cost had dropped under the Cost Threshold for Parallelism. (#2234, thanks Erik Darling.)
- Fix: “selects with writes” warning may fire incorrectly for stored procedures. (#2290, thanks Erik Darling.)
- Improvement: suggested index names no longer start with IX_. (#2292, thanks Greg Dodd.)
- Improvement: indexes with 0 reads and 0 writes are no longer shown by default in mode 0 and 4. Just lowering the distractions so you can focus on the indexes that are really causing problems. (#2280, thanks Erik Darling.)
- Improvement: unused index warning now also shows the index’s number of writes. (#2266, thanks Erik Darling.)
- Fix: some parts of the output were doubling the size of nvarchar columns, like telling you a column was nvarchar(80) when it was really nvarchar(40). (#2285)
- Fix: now handles identity values even larger than BIGINTs, going all the way to DECIMAL(38,0). (#2268, thanks JBarnard84.)
- Improvement: new @VictimsOnly parameter. If you set it to 1, you only get the deadlock victims. Since all of the queries in a deadlock have the same deadlock graph, this can tighten up your result set by a lot if all you’re troubleshooting is the deadlock graph, which is what we’re focused on in the Consultant Toolkit. (#2219, thanks Erik Darling.)
- Improvement: better support for identifying when heaps are deadlocked. (#2219, thanks Erik Darling.)
- Fix: object names not always populating correctly. (#2282, thanks Erik Darling.)
- Improvement: removed dependency on Ola Hallengren’s maintenance scripts. Ola recently released a version with a new mandatory parameter for his CommandExecute stored proc, which broke sp_DatabaseRestore, and we weren’t depending on it for anything complex. (#2269, thanks mKarous for the bug report and Eric Straffen for the code.)
- Improvement: added @exclude_pattern parameter so you can skip databases like the pattern. Accepts wildcards just like the SQL Server LIKE. (Pull #2272, thanks Aaron Bertrand.)
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.