First Responder Kit Release: What Does A Fish Know About Friday?

I know, it seems like just yesterday I was doing one of these releases.

But no, it was three weeks ago.

You’ve just been drunk for a really long time.

You can download the updated here.

sp_Blitz Improvements
#1698 – Now warns you about any SQL Modules that have ANSI_NULLS or QUOTED_IDENTIFIER off. Thanks @MisterZeus!
#1719 – @TheUsernameSelectionSucks pointed out a typo. Model, msdb. Who can tell the difference?

sp_BlitzCache Improvements
#1352 – If you ever looked at the “weight” columns and thought they looked weird, we were right there with you. They should be fixed now. If you find anything really far off, let us know!
#1706 – We now warn you about compilation metrics, like compile time, cpu, and memory, if they surpass certain thresholds.
#1724 – After calling index spools the most passive aggressive plan operator for ages, I finally decided to do something about it. I break them down and report them as missing index requests in the clickable missing index column. The improvements aren’t an exact science, but it’s a good start.
#1732 – Found some weird cases where missing index counts were off when multiple plans were in the cache for the same query. Fixed!

sp_BlitzFirst Improvements
#1708 – Switched from a static list of ignorable waits to using the temp table we build, so they only have to be maintained in one place.
#1735 – Ignore poison waits unless they’re > 1 second.

sp_BlitzIndex Improvements
#1705 – In some of the checks around nonclustered indexes, we were counting disabled and hypotheticals towards the total.

sp_BlitzWho Improvements
#1721 – @osumatt fixed things up so we get all the fancy memory grant column in 2017!

sp_AllNightLog and sp_AllNightLog_Setup Improvements
#1727 – @dalehhirt checked in a change that allows you to ignore databases on the restore side.

sp_BlitzQueryStore Improvements
Nothing this time around – WON’T SOMEONE PLEASE USE THE QUERY STORE?

sp_DatabaseRestore Improvements
Nothing this time around

Nothing this time around

Nothing this time around

sp_BlitzInMemoryOLTP Improvements
Nothing this time around

sp_BlitzBackups Improvements
Nothing this time around

sp_foreachdb Improvements
Nothing this time around

You can download the updated here.

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 Be patient – it’s staffed with volunteers who have day jobs, heh.

When you find a bug or want something changed, read the 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 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
Free SQL Server Training Next Week at GroupBy
Next Post
[Video] Office Hours 2018/8/29 (With Transcriptions)

2 Comments. Leave new

  • I have a job that runs every 15 minutes and calls sp_BlitzFirst:

    EXEC [DBA Maintenance].[dbo].[sp_BlitzFirst]
    @OutputDatabaseName = ‘DBA Maintenance’,
    @OutputSchemaName = ‘dbo’,
    @OutputTableName = ‘BlitzFirst’,
    @OutputTableNameFileStats = ‘BlitzFirst_FileStats’,
    @OutputTableNamePerfmonStats = ‘BlitzFirst_PerfmonStats’,
    @OutputTableNameWaitStats = ‘BlitzFirst_WaitStats’,
    @OutputTableNameBlitzCache = ‘BlitzCache’,
    @OutputTableRetentionDays = 10;

    After updating the SQL Scripts, the Job keeps failing and when I run the Step SQL manually I get below messages:
    . . .
    Populating Warnings column
    Msg 8134, Level 16, State 1, Procedure sp_BlitzCache, Line 3972
    Divide by zero error encountered.
    The statement has been terminated.
    Populating Warnings column for stored procedures
    Msg 8134, Level 16, State 1, Procedure sp_BlitzCache, Line 4047
    Divide by zero error encountered.
    . . .
    Writing results to table.
    sp_BlitzCache Finished

    I think the error is happening for the sp_BlitzCache CASE lines “CASE WHEN CompileMemory > 1024 AND ((CompileMemory) / (1 * MaxCompileMemory) * 100.) >= 10. THEN ‘, High Compile Memory’ ELSE ” END” because when I SELECT the values in the ##bou_BlitzCacheProcs table, MaxCompileMemory is either NULL or 0 (Zero).

    • Matthew — Do me a huge favor, and read the last paragraph there about how to get support.

      Hint: It’s not in blog comments 😉



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.