Updated First Responder Kit and Consultant Toolkit for April 2019

This month, lots of improvements and bug fixes, including checking for paused resumable index operations, Evaluation Edition expiration dates, sp_BlitzCache shows the number of duplicated plans for each query, sp_BlitzIndex will skip a list of databases for you, and more.

To get the new version:

sp_Blitz Changes

  • Improvement: check for First Responder Kit stored procs that are out of date (in case you’re updating sp_Blitz, but not its relatives.) (#1994, thanks JeffChulg!)
  • Improvement: check for resumable index operations that have been paused. (#2010)
  • Improvement: warn on Evaluation Edition expiration dates. (#2017)

sp_BlitzCache Changes

  • Improvement: shows the new air_quote_actual plans from sys.dm_exec_query_plan_stats on SQL Server 2019 and Azure SQL DB. (#2019)
  • Improvement: show the number of multiple plans for a query in the Warnings column, like “Multiple Plans (105)”. (#2026)
  • Fix: arithmetic overflow when calculating terribly bad total reads for a plan. (#2018, thanks IanManton for the bug report.)
  • Fix: Azure SQL DB wasn’t allowed to sort by memory grants or spills because we were checking version numbers rather than sys.all_columns to check if the necessary columns exist. (#2015)
  • Fix: the output table wouldn’t get created when called with @SortOrder = ‘all.’ The table would get populated if it already existed, it just wouldn’t get created for the first time. (#2009)

sp_BlitzFirst Changes

  • Improvement: when we call sp_BlitzCache in the 15-minute Agent job for the Power BI Dashboard, we now run it with @SkipAnalysis = 1, @SortOrder = ‘all’. This runs faster (because it doesn’t analyze the plan XML looking for anti-patterns), and simultaneously gets you more query plans because we sort by all methods, every time. (#2009)

sp_BlitzIndex Changes

  • Improvement: new @IgnoreDatabases parameter lets you skip a comma-delimited list of database names. We use that same logic to populate databases with over 100 partitions, which means @GetAllDatabases = 1 works normally, but skips databases with over 100 partitions (and shows them in the output list as to why they were skipped.) To examine those, use @BringThePain = 1. (#1944, thanks Richard Hughes for the idea and Rich Benner for the starting point for the code.)

sp_BlitzLock Changes

sp_BlitzQueryStore Changes

  • Fix: fixed error “The multi-part identifier “s.is_cursor” could not be bound.” (#2024)

sp_ineachdb Changes

  • Fix: now it actually does stuff even if you don’t specify @Help = 1. I tell you what, people, this is how I can tell you’re not using this proc yet, hahaha. (Pull #2035, thanks Aaron Bertrand.)

For Support

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.

Previous Post
SSMS v18 and Azure Data Studio: The Golden Age of SQL Server Tooling
Next Post
Pop Quiz: SQL 2000 Bug or SQL 2017 Bug?

13 Comments. Leave new

  • Shawn Clabough
    April 30, 2019 1:36 pm

    Does it take a while for VS Code to pick it up? Check Version is saying I’m up to date and import is still “@Version = ‘7.4’, @VersionDate = ‘20190320’;”

  • Is the updated kit applicable to SQL Server 2008?

    • Yeah, we’re still supporting it (as long as Microsoft does.) I’m not sure what we’ll do come a couple of months when support stops – I think we’re going to try to support it as long as practical.

      • Thanks! I may be supporting SQL Server 2008 in a new effort and want to use your scripts to enhance design and performance!

  • Management/IT – Why are you still on SQL2008? You need to upgrade
    DBA – I need $84,000 USD
    Management/IT – It’s not in the budget, why do you need it?

  • Do these sp_Blitz procs now run on Azure SQL DB? I see the release notes repeatedly refer to azure related fixes so I’m assuming it’s fine to run them on an azure sql db. thanks.

    • Check the readme for support info – basically we try to support Azure, but since they can (and do) change DMV contents at any time, there are no guarantees.

  • Shawn Clabough
    May 15, 2019 10:16 am

    Looks like the extension in VS code isn’t checking/downloading correctly. When I ran “Check sp_Blitz Version” today, it says my version is out of date and the current version is 20190430 , but when I click “Get It Now”, it still downloads the old version.

  • Hello Brent,
    When running the latest sp_blitz with @checkserverinfo = 1 i’m getting the following:

    RegOpenKeyEx() returned error 2, ‘The system cannot find the file specified.’
    Msg 22001, Level 1, State 1

    It’s not a show stopped but i have a registered server group with a machine from all SQL versions we support from 2008 to 2017 and it’s coming up on all of them. I tried searching the sproc for RegOpenKeyEx and didn’t find anything. What check is generating this error so i can run it down?


  • Satish jagarlamudi
    May 26, 2021 7:00 am

    I upgraded my SQL server to 2019 from 2016 and changed compatibility level of master db set to 150.there after my sp_blitz index report is getting failed .if I take to it compatibility 130 then it’s working fine.
    Will this support in SQL server 2019? If so pls advice changes


Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.