Releases: BrentOzarULTD/SQL-Server-First-Responder-Kit
2024-07-01: Consultant Toolkit Fixes
The next release would normally be August, but I'm doing a release a little early in order to fix 2 issues with the Consultant Toolkit. The May release broke the ability to automatically upload results to Amazon S3, and didn't include all of sp_BlitzLock's results. Those are now fixed, so I wanted to get another release out quickly so consultants don't have to keep using the old version.
If you've hard-coded First Responder Kit installer file names, there was a big recent change. There are now just 2 installer scripts: Install-All-Scripts.sql, and a new Install-Azure.sql, which only installs the scripts that are compatible with Azure SQL DB. The old Install-Core scripts are gone because we've deprecated sp_AllNightLog, sp_BlitzInMemoryOLTP, and sp_BlitzQueryStore. Read on for why.
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.
- PowerShell users: run Install-DbaFirstResponderKit from dbatools
- Get The Consultant Toolkit to quickly export the First Responder Kit results into an easy-to-share spreadsheet
Consultant Toolkit Changes
We fixed the problems with AWS S3 uploads and sp_BlitzLock results that were introduced by May's big changes. As a reminder, here's what we did in May because the changes were pretty big:- Supports Microsoft Entra multi-factor authentication (MFA)
- Automatically retries failed connections, allowing you to more easily gather data from Azure SQL DB Serverless databases that auto-paused
- No longer requires create-table permissions, so it works better in environments where you can pull diagnostic data but not see database contents
- Requires .NET Desktop Runtime 7 or higher on the machine where you run the Consultant Toolkit, typically your jump box or laptop (not the SQL Server itself)
sp_Blitz Changes
- Enhancement: several checks for Query Store settings & trace flags. (#3531, #3535, #3536, thanks Reece Gooding)
sp_BlitzLock Changes
- Enhancement: add @DeadlockType parameter to filter for just regular or parallelism deadlocks. (#3525, thanks Erik Darling)
- Enhancement: add max CPU and elapsed times. (#3545, thanks Erik Darling)
sp_DatabaseRestore Changes
- Enhancement: add @EnableBroker parameter to turn on Service Broker after a restore. (#3532, thanks John McCall)
Deprecating sp_BlitzInMemoryOLTP, sp_BlitzQueryStore, and sp_AllNightLog
sp_BlitzQueryStore was originally written by Erik Darling when he worked here. He's moved on to start his own excellent company, plus his own sp_QuickieStore. You should be using that instead.sp_BlitzInMemoryOLTP was always kinda distributed as a courtesy - the real home for it is in KTaranov's Github repository, and you can still find it there. It hasn't been updated in over 6 years, and I've never seen anyone using it, so I'm removing it to streamline support issues.
sp_AllNightLog was a ton of fun when we built it several years ago, but it's consistently had a problem. Companies start using it, then decide they want to build something even more ambitious, typically a C# service with robust error handling and scheduling. sp_AllNightLog isn't the kind of thing I want to encourage beginners to use - it's complex.
So when Reece Goding started working on cleaning up sp_BlitzQueryStore's code, I decided that now was the time to deprecate stuff we no longer use or recommend. You're definitely welcome to continue to use 'em if you get value out of 'em! I've going to move these procs into the Deprecated folder, plus simplify the installation scripts. For the rest of 2024, the only installer script will be Install-All-Scripts.sql.
For Support
When you have questions about how the tools work, talk with the community in the #FirstResponderKit Slack channel. Be patient: it's staffed by volunteers with day jobs. If it's your first time in the community Slack, get started here.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 me!) 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.
2024-05-22: sp_BlitzFirst & sp_BlitzIndex Features
If you've hard-coded installer file names, there's a big change in this release. There are now just 2 installer scripts: Install-All-Scripts.sql, and a new Install-Azure.sql, which only installs the scripts that are compatible with Azure SQL DB. The old Install-Core scripts are gone because we've deprecated sp_AllNightLog, sp_BlitzInMemoryOLTP, and sp_BlitzQueryStore. Read on for why.
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.
- PowerShell users: run Install-DbaFirstResponderKit from dbatools
- Get The Consultant Toolkit to quickly export the First Responder Kit results into an easy-to-share spreadsheet
Consultant Toolkit Changes
This app has been awesomely stable & useful for years, but this month we finally had to pop the hood open to make a few big changes:- Supports Microsoft Entra multi-factor authentication (MFA)
- Automatically retries failed connections, allowing you to more easily gather data from Azure SQL DB Serverless databases that auto-paused
- No longer requires create-table permissions, so it works better in environments where you can pull diagnostic data but not see database contents
- Requires .NET Desktop Runtime 7 or higher
Just to be super-safe, I'd keep the prior version around so that if you hit a weird client issue, you can still gather data. If you run into any issues, shoot us an email at help@brentozar.com and we'll work through it with you.
I also updated it to this month’s First Responder Kit, but no changes to querymanifest.json or the spreadsheet. If you’ve customized those, no changes are necessary this month: just copy your spreadsheet and querymanifest.json into the new release’s folder. However, in the Dec 2023 release, we we did update those files, so if you haven't updated the Consultant Toolkit in a while and you've customized it, read that version's release notes about updating.
sp_Blitz Changes
- Enhancement: new checks for SQL Server service & Agent service accounts that have too much permissions. (#3481, thanks Vlad Drumea.)
sp_BlitzFirst Changes
- Enhancement: add 2 option for @expertmode to skip sp_BlitzWho output. Could already do this with the @OutputResultSets option, but this is much easier to do during emergencies. (#3486)
- Enhancement: better startup/failover time detection in Azure SQL DB. (#3504)
- Enhancement: new warning about approaching max worker threads. (#3491)
- Fix: under heavy load, the headline news wait stats lines would underreport the number of seconds that the sample took. (#3507)
- Fix: when the Hekaton "Garbage Collection in Progress" warning fires, mention that it can also be caused by a stressed-out memory-optimized TempDB. (#3488)
- Fix: don't show the plan cache result set if it's not asked for in @OutputResultSets. (#3492)
- Fix: incorrect URL for slow data file reads. (#3483, thanks Matt Mollart.)
sp_BlitzIndex Changes
- Enhancement: performance tuning by skipping queries we don't need depending on the mode. (#3462, thanks Erik Darling.)
- Enhancement: skip filtered indexes checks if they don't have permissions to query sys.sql_expression_dependencies. (#3522)
- Fix: restore SQL Server 2014 compatibility. (#3452, thanks Brianc-DBA and others for reporting.)
- Fix: unreachable databases are now excluded from the total database count. (#3516, thanks Gary Hunt.)
- Fix: using DB_NAME() in more places for consistency. (#3517, thanks Gary Hunt.)
- Fix: fixed typos. (#3519, #3515, #3512, thanks Gary Hunt.)
sp_DatabaseRestore Changes
- Enhancement: during installation, if they don't already have Ola's scripts, explain why they're about to see warnings. (#3499)
Deprecating sp_BlitzInMemoryOLTP, sp_BlitzQueryStore, and sp_AllNightLog
sp_BlitzQueryStore was originally written by Erik Darling when he worked here. He's moved on to start his own excellent company, plus his own sp_QuickieStore. You should be using that instead.sp_BlitzInMemoryOLTP was always kinda distributed as a courtesy - the real home for it is in KTaranov's Github repository, and you can still find it there. It hasn't been updated in over 6 years, and I've never seen anyone using it, so I'm removing it to streamline support issues.
sp_AllNightLog was a ton of fun when we built it several years ago, but it's consistently had a problem. Companies start using it, then decide they want to build something even more ambitious, typically a C# service with robust error handling and scheduling. sp_AllNightLog isn't the kind of thing I want to encourage beginners to use - it's complex.
So when Reece Goding started working on cleaning up sp_BlitzQueryStore's code, I decided that now was the time to deprecate stuff we no longer use or recommend. You're definitely welcome to continue to use 'em if you get value out of 'em! I've going to move these procs into the Deprecated folder, plus simplify the installation scripts. For the rest of 2024, the only installer script will be Install-All-Scripts.sql.
For Support
When you have questions about how the tools work, talk with the community in the #FirstResponderKit Slack channel. Be patient: it's staffed by volunteers with day jobs. If it's your first time in the community Slack, get started here.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 me!) 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.
2024-02-22: Faster sp_BlitzIndex, Enhanced sp_DatabaseRestore
New this month: better sp_BlitzIndex performance on databases with tens of thousands of objects, sp_DatabaseRestore can run test scripts, and David Wiseman and Sean Killeen implemented basic automated testing for the First Responder Kit.
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.
- PowerShell users: run Install-DbaFirstResponderKit from dbatools
- Get The Consultant Toolkit to quickly export the First Responder Kit results into an easy-to-share spreadsheet
Consultant Toolkit Changes
I updated it to this month’s First Responder Kit, but no changes to querymanifest.json or the spreadsheet. If you’ve customized those, no changes are necessary this month: just copy your spreadsheet and querymanifest.json into the new release’s folder. However, in the Dec 2023 release, we we did update those files, so if you haven't updated the Consultant Toolkit in a while and you've customized it, read that version's release notes about updating.sp_Blitz Changes
- Enhancement: add non-default database configuration check for Accelerated Database Recovery. (#3411, thanks Erik Darling.)
- Fix: skip drive info and SSRS/AS/IS checks on Managed Instances. (#3441, thanks Vlad Drumea.)
- Fix: skip xp_regread when we don't have permissions. (#3425, thanks Erik Darling.)
- Fix: avoid duplicate rows on AGs. (#3402, thanks gotqn.)
- Fix: permissions checks not working as intended. (#3377, thanks Montro1981.)
sp_BlitzCache Changes
- Fix: typo. (#3421, thanks twitthoeft-gls.)
sp_BlitzIndex Changes
- Enhancement: faster performance on databases with tens of thousands of objects or more. (#3394, thanks Henrik Stein Poulsen and Rich Benner.)
- Fix: if a partitioned table had both columnstore and rowstore indexes, the columnstore visualization section showed extra blank rows. (#3415, thanks Chris May.)
- Fix: improving language friendliness. (#3423, thanks Sean Killeen.)
sp_DatabaseRestore Changes
- Enhancement: new @RunStoredProcAfterRestore parameter lets you specify a stored procedure name in the form of dbo.sp_Whatever to run after the restore completes. (#3429, thanks Greg Dodds.)
- Enhancement: new @FileNamePrefix parameter to add to the names of all restored files. Useful when you need to restore different backups of the same database into the same directory. (#3431, thanks Lukasz Biegus.)
For Support
When you have questions about how the tools work, talk with the community in the #FirstResponderKit Slack channel. Be patient: it's staffed by volunteers with day jobs. If it's your first time in the community Slack, get started here.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 me!) 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.
2023-12-22: Happy Holidays!
New this month: more work on letting sp_Blitz run with limited permissions, nicer Markdown output, sp_BlitzLock compatibility with Managed Instances, and more.
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.
- PowerShell users: run Install-DbaFirstResponderKit from dbatools
- Get The Consultant Toolkit to quickly export the First Responder Kit results into an easy-to-share spreadsheet
sp_Blitz Changes
- Enhancement: way prettier output when @OutputType = 'markdown'. (#3401, thanks Mike Scalise.)
- Enhancement: simpler, more intuitive checks for Instant File Initialization. (#3362 and #3409, thanks Montro1981.)
- Enhancement: if we had to skip checks because you didn't have enough permissions, we now warn you about that. (#3376, thanks Montro1981.)
- Fix: continued work on detecting msdb permissions. (#3377, thanks Montro1981.)
sp_BlitzCache Changes
- Fix: @debug = 1 was skipping a character of the dynamic SQL. (#3406, thanks Per Scheffer and Montro1981.)
sp_BlitzIndex Changes
- Fix: @debug = 1 was skipping a character of the dynamic SQL. (#3406, thanks Per Scheffer and Montro1981.)
- Fix: added drop-if-exists statement for temp tables to make it easier to run parts of sp_BlitzIndex ad-hoc, outside of a stored proc. (#3383, thanks Chad Baldwin.)
sp_BlitzLock Changes
- Fix: better compatibility with Azure Managed Instances. (#3392, thanks Fatima Brunson and Erik Darling.)
- Fix: won't error out when sys.dm_exec_query_stats reports a last_execution_time of 1900-01-01. (#3385, thanks teej21012 and Erik Darling.)
sp_BlitzQueryStore Changes
- Enhancement: added @Help = 1 output. (#3388, thanks Vlad Drumea.)
sp_ineachdb Changes
- Enhancement: new @is_ag_writeable_copy parameter to only run queries against those databases. (#3399, thanks Douglas Taft.)
For Support
When you have questions about how the tools work, talk with the community in the #FirstResponderKit Slack channel. Be patient: it's staffed by volunteers with day jobs. If it's your first time in the community Slack, get started here.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 me!) 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.
2023-10-10: sp_Blitz Runs with Lower Permissions, sp_BlitzCache Checks for Duplicate Plans
The last couple of releases have focused on running sp_Blitz with limited permissions, like not being able to see inside some user databases. Those efforts continue this month with a lot of work from Montro1981.
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.
- PowerShell users: run Install-DbaFirstResponderKit from dbatools
- Get The Consultant Toolkit to quickly export the First Responder Kit results into an easy-to-share spreadsheet
Consultant Toolkit Changes
I updated it to this month’s First Responder Kit, but no changes to querymanifest.json or the spreadsheet. If you’ve customized those, no changes are necessary this month: just copy your spreadsheet and querymanifest.json into the new release’s folder.sp_Blitz Changes
- Enhancement: now automatically skips MSDB checks in environments where you don't have permissions for MSDB. (#3355, thanks Montro1981.)
- Fix: won't error out if you don't have permissions to view traces. (#3326, thanks Montro1981.)
- Fix: better detection of whether you have permissions in the model database. (#3334, thanks Montro1981.)
- Fix: more clear explanation of what sp_Blitz's @debug parameter does. (#3348, thanks Montro1981.)
- Fix: skip DBCC DBINFO calls correctly. (#3350, thanks Montro1981.)
- Fix: better checking of permissions on sp_validatelogins, xp_regread, and xp_readerrorlog. (#3356, thanks Montro1981.)
sp_BlitzCache Changes
New @sortorder = 'duplicate' shows the queries with the most cached plans. Here's an example of the output:This one's a little tricky: the result set IS the top X queries with the most duplicated plans in cache, however, the list isn't sorted by that. It's sorted by CPU by default. Also:
- Fix: when using @sortorder = 'all', avg spills were being saved to table as 'avg grant'. (#3331, thanks eschnepel.)
- Fix: reduce likelihood that sp_BlitzCache's global temp tables will disappear while the proc is prepping to run. (#3342)
- Fix: single-use plans were reporting over 100% if you were running the exact same code in multiple databases. (#3353)
- Fix: case sensitive collations would fail due to different variable casing for @MinimumExecutionCount. (#3368, thanks Mark Keyworth and Montro1981.)
sp_BlitzFirst Changes
- Fix: if you took a 1-second sample of waits, you could get a divide by zero error. (#3370, thanks Montro1981.)
sp_BlitzLock Changes
- Enhancement: new check for deadlocks with background processes. (#3329, thanks Erik Darling.)
- Fix: don't tell people to enable RCSI if it's already enabled. (#3347, thanks Erik Darling.)
For Support
When you have questions about how the tools work, talk with the community in the #FirstResponderKit Slack channel. Be patient: it's staffed by volunteers with day jobs. If it's your first time in the community Slack, get started here.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 me!) 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.
2023-08-20: New Features for sp_BlitzIndex, sp_BlitzLock, and sp_BlitzQueryStore
Turns out y'all actually work over the summer - there are actually cool new features this month! I think I'm actually going to have to record updated sp_BlitzIndex, sp_BlitzLock, and sp_BlitzQueryStore modules for my "How I Use the First Responder Kit" class because these features are pretty awesome.
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.
- PowerShell users: run Install-DbaFirstResponderKit from dbatools
- Get The Consultant Toolkit to quickly export the First Responder Kit results into an easy-to-share spreadsheet
Consultant Toolkit Changes
I updated it to this month’s First Responder Kit, but no changes to querymanifest.json or the spreadsheet. If you’ve customized those, no changes are necessary this month: just copy your spreadsheet and querymanifest.json into the new release’s folder.sp_Blitz Changes
- Improvement: better chance of running to completion when you're not SA. sp_Blitz has always required sysadmin permissions in the past, and this is our first pass at it, so if you have limited permissions and you run into errors, feel free to file 'em as issues and we'll see if we can work around it. (#3292, thanks Erik Darling.)
- Fix: reduce possibility of missing replication in use. (#3316, thanks DavidSchanzer.)
sp_BlitzCache Changes
- Fix: more accurate estimation of memory grant used overall across multiple executions of a query. (#3313, thanks mdpenguin.)
- Fix: more accurate percentage of duplicate query plans. We've been battling this issue for yeeeears, and I still can't reproduce the issue in the lab, so I don't think this is the last chapter on this issue. (#3314, thanks WaldenL.)
- Fix: skip warnings of ResourceDB queries. (#3315, thanks WaldenL.)
- Fix: better compatibility with AG secondary replicas. (#3291, thanks mbambion.)
sp_BlitzIndex Changes
- Enhancements in #3294: in the columnstore visualization section, each rowgroup's state, trim reason, etc are now shown:
And in that result set, the size of the secondary dictionary (if required) for a column is now included in its size. Here's the Users.DisplayName column before - note the sizes in the far right:
Now, with the secondary dictionary size included, the DisplayName column's true size shows up as being dramatically larger because the strings are relatively unique and don't compress well:
sp_BlitzLock Changes
- Improvement: if the queries involved in deadlocks are still in the plan cache, sp_BlitzLock now shows an additional result set with their plans. (#3293 and #3311, thanks Erik Darling.)
- Improvement: when targeting one session, make sure it exists first. (#3306, thanks Erik Darling.)
- Improvement: faster XML queries. (#3305, thanks Erik Darling.)
- Fix: time searches are now UTC compatible. (#3307, thanks Erik Darling and Mike Hodgson.)
sp_BlitzQueryStore Changes
- Improvement: Parameter Sensitive Plan Optimization (PSPO) compatibility! If you search for a single @StoredProcName, we now show all of the plan variants for it. (#3312, thanks sqljared.)
sp_DatabaseRestore Changes
- Improvement: new @KeepCdc parameter restores that attribute too. (#3289, thanks SQLSlinger.)
- Fix: compatibility with SQL Server 2022's new undocumented columns in RESTORE HEADERONLY. (#3190, thanks Razvan Socol.)
- Fix: incorrect error message in debugging output. (#3320, thanks Greg Dodds.)
For Support
When you have questions about how the tools work, talk with the community in the #FirstResponderKit Slack channel. Be patient: it's staffed by volunteers with day jobs. If it's your first time in the community Slack, get started here.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 me!) 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.
2023-06-13: Bug Fixes for sp_Blitz, sp_BlitzLock, sp_DatabaseRestore
This one's a pretty quiet release: just bug fixes in sp_Blitz, sp_BlitzLock, and sp_DatabaseRestore.
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.
- PowerShell users: run Install-DbaFirstResponderKit from dbatools
- Get The Consultant Toolkit to quickly export the First Responder Kit results into an easy-to-share spreadsheet
Consultant Toolkit Changes
I updated it to this month’s First Responder Kit, but no changes to querymanifest.json or the spreadsheet. If you’ve customized those, no changes are necessary this month: just copy your spreadsheet and querymanifest.json into the new release’s folder.sp_Blitz Changes
- Fix: update unsupported SQL Server versions list. Time marches on, SQL Server 2016 SP2. (#3274, thanks Michel Zehnder and sm8680.)
- Fix: if you ran sp_Blitz in databases other than master, we weren't showing the alerts on TDE certificates that haven't been backed up recently. (#3278, thanks ghauan.)
sp_BlitzLock Changes
- Enhancement: compatibility with Azure Managed Instances. (#3279, thanks Erik Darling.)
- Fix: convert existing output tables to larger data types. (#3277, thanks Erik Darling.)
- Fix: don't send output to client when writing it to table. (#3276, thanks Erik Darling.)
sp_DatabaseRestore Changes
- Improvement: new @FixOrphanUsers parameter. When 1, once restore is complete, sets database_principals.principal_id to the value of server_principals.principal_id where database_principals.name = server_principals.name. (#3267, thanks Rebecca Lewis.)
- Fix: better handling of last log files for split backups when using @StoPAt. (#3269, thanks Rebecca Lewis.)
- Fix: corrected regression introduced in 8.11 that caused non-striped backups to no longer be deleted. (#3262, thanks Steve the DBA.)
For Support
When you have questions about how the tools work, talk with the community in the #FirstResponderKit Slack channel. Be patient: it's staffed by volunteers with day jobs. If it's your first time in the community Slack, get started here.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 me!) 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.
2023-04-20 Release: Faster sp_BlitzFirst & sp_BlitzLock
This month's big changes are performance tuning in sp_BlitzFirst & sp_BlitzLock.
Part of the benefits of using the open source FRK is that when any of us work with really big/fast/ugly servers, we tune the FRK procs to work better in those environments - which means it'll likely work better in yours, too. For example, this month I was working with a server doing 30k-35k queries/sec and hitting threadpool issues, and I wanted sp_BlitzFirst to return more quickly in that kind of environment, so I tuned it.
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.
- PowerShell users: run Install-DbaFirstResponderKit from dbatools
- Get The Consultant Toolkit to quickly export the First Responder Kit results into an easy-to-share spreadsheet
Consultant Toolkit Changes
I updated it to this month’s First Responder Kit, but no changes to querymanifest.json or the spreadsheet. If you’ve customized those, no changes are necessary this month: just copy your spreadsheet and querymanifest.json into the new release’s folder.sp_Blitz Changes
- Fix: exclude sp_PressureDetector from recompile checks. (#3244, thanks Edgar Walther.)
sp_BlitzFirst Changes
- Enhancement: new @OutputResultSets parameter lets you return less result sets when you're in a hurry. (#3255)
- Enhancement: performance tuning for faster response time on systems with thousands of simultaneous active queries. (#3257)
- Fix: no more arithmetic overflow on queries with horrific row estimates. (#3241, thanks SQLLambert.)
- Fix: remove @@rowcount to avoid problems with In-Memory OLTP. (#3237)
- Fix: only alert on bad cardinality estimations for queries that run > 5 seconds. (#3253)
sp_BlitzLock Changes
- Enhancement: faster performance. (#3232, thanks Erik Darling.)
sp_BlitzWho Changes
sp_DatabaseRestore Changes
- Enhancement: new @FileExtensionDiff parameter for folks who want to name their differential backup extensions different than Ola's defaults. (#3234, thanks Will Spurgeon.)
For Support
When you have questions about how the tools work, talk with the community in the #FirstResponderKit Slack channel. Be patient: it's staffed by volunteers with day jobs. If it's your first time in the community Slack, get started here.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 me!) 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.
2023-02-15: Bug Fixes for Cache, First, Lock
Thanks to this technique to run SQL Server on Apple Silicon chips, I'm now developing exclusively on my Mac! I've been using a Mac for over 15 years, but in the past, I've always used Windows at some layer somewhere. This time around, it's all Mac the whole way down, which is kinda nifty. Makes my release process easier.
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.
- PowerShell users: run Install-DbaFirstResponderKit from dbatools
- Get The Consultant Toolkit to quickly export the First Responder Kit results into an easy-to-share spreadsheet
Consultant Toolkit Changes
I updated it to this month’s First Responder Kit, but no changes to querymanifest.json or the spreadsheet. If you’ve customized those, no changes are necessary this month: just copy your spreadsheet and querymanifest.json into the new release’s folder.sp_BlitzCache Changes
- Enhancement: when using @sortorder = 'all', there's a new pattern column to show which metrics sucked about the query, and it's included in the table output. (#3172, thanks Adrian Buckman.)
- Fix: case sensitivity issues on joining to sys.all_columns. (#3233, thanks sm8680.)
sp_BlitzFirst Changes
- Fix: QRY_PROFILE_LIST_MUTEX lock timeouts on sys.dm_exec_query_statistics_xml. (#3210, thanks sqlslinger.)
sp_BlitzLock Changes
- Fix: error converting data type nvarchar to bigint. (#3201, thanks Erik Darling.)
- Fix: arithmetic overflow in wait_time_hms when wait time added up to more than 2147483647. (#3215, thanks Vlad Drumea.)
- Fix: string or binary data would be truncated in table tempdb.dbo.#deadlock_owner_waiter. (#3206, thanks johnkurtdk.)
sp_BlitzWho Changes
- Fix: shows procedure definition even if the current statement isn't in the plan cache. (#3163, thanks Adrian Buckman.)
- Fix: tempdb allocations did not include internal objects such as worktables and workfiles. (#3174, thanks Adrian Buckman.)
For Support
When you have questions about how the tools work, talk with the community in the #FirstResponderKit Slack channel. Be patient: it's staffed by volunteers with day jobs. If it's your first time in the community Slack, get started here.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 me!) 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.
2022-12-13 Release: Happier Holidays!
Santa's elves took a break from building toys and shipped a new version of the First Responder Kit. There are some great improvements in here, like a makeover for sp_BlitzLock and much better PSPO compatibility for sp_BlitzCache.
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.
- PowerShell users: run Install-DbaFirstResponderKit from dbatools
- Get The Consultant Toolkit to quickly export the First Responder Kit results into an easy-to-share spreadsheet
Consultant Toolkit Changes
I updated it to this month’s First Responder Kit, but no changes to querymanifest.json or the spreadsheet. If you’ve customized those, no changes are necessary this month: just copy your spreadsheet and querymanifest.json into the new release’s folder.sp_AllNightLog Changes
- Fix: if a database exists and it's not being log shipped, skip it rather than overwrite it. (#3187, thanks David Wiseman.)
sp_Blitz Changes
- Fix: date conversion errors on non-US environments. (#3161, thanks Christian Specht and Ralf Pickel.)
sp_BlitzCache Changes
- Enhancement: show a statement's parent stored procedure where available in SQL Server 2022 to work around the PSPO problem. (#3176, thanks Cody Konior.)
- Fix: if you asked for the output of @sortorder = 'unused grant' to be written to table, it wasn't working. (#3160, thanks Petr-Starichenko.)
sp_BlitzFirst Changes
- Fix: Managed Instances were getting errors on Perfmon counters. (#3184, thanks Cody Konior.)
- Fix: lock timeout errors from sp_msforeachdb. (#3180, thanks Cody Konior.)
sp_BlitzIndex Changes
- Enhancement: added support for output to table for all modes. (#2774, thanks Tor-Erik Hagen.)
- Fix: the columnstore index visualization wasn't filtering out tombstone rowgroups. (#3189)
- Fix: statistics with oddball names would throw errors. (#3162, thanks Jay Holliday.)
sp_BlitzLock Changes
- Enhancement: in Erik's words, he gave the T-SQL a mommy makeover, including the ability to read from the ring buffer, improve performance, fix data duplicatoin bugs, clean XML to avoid character parsing errors, etc. (#3166, thanks Erik Darling.)
sp_BlitzQueryStore Changes
- Fix: errors on TRY_CONVERT for databases in compat level 100. (#3155, thanks ray13eezy and Erik Darling.)
sp_BlitzWho Changes
- Enhancement: move session_id and blocking_session_id next to each other for easier blocking troubleshooting. (#3159, thanks David Hooey.)
sp_DatabaseRestore Changes
- Fix: full backups with more than 9 files were being ignored. (#3156, thanks Wilfred van Dijk.)
- Fix: wasn't working on SQL Server 2022 due to new undocumented columns. (#3190)
For Support
When you have questions about how the tools work, talk with the community in the #FirstResponderKit Slack channel. Be patient: it's staffed by volunteers with day jobs. If it's your first time in the community Slack, get started here.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 me!) 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.