Why’s This Query So Slow in Prod? Check sp_BlitzPlanCompare.
You're testing a query, and you're just not getting the same performance between the development and production servers.
There's a huge list of common things that might be causing it:
You're testing a query, and you're just not getting the same performance between the development and production servers.
There's a huge list of common things that might be causing it:
From now on, I'm going to be releasing annual versions of the First Responder Kit, starting with this one, which I'm calling the First Responder Kit 2026. I'll still release more frequently on Github, but I won't be blogging about it here. I want to make it easier for folks who don't update that often.…
This week at the SQLBits conference in Newport, I'm teaching an all-new all-day session called Dev-Prod Demon Hunters: Finding the Real Cause of Production Slowness.
It filled up initially, but they've opened up more seats for it, so if you're interested, there's still time to join! Attendees get a free Fundamentals & Mastering 1-Year Bundle. Register now for SQLBits, or if you're already registered, email contactus@sqlbits.com to get into my workshop.
If there was ever a release you should skip for reliability reasons, it's this one. There's a lot of AI-edited code in here. I'm really only putting it out there because I want to let early adopters start playing around with a few new things: sp_BlitzIndex adds an @AI parameter to get index consolidation advice…
For the last few years, I've slowed the First Responder Kit release down to once per quarter. It felt pretty feature-complete, and I didn't want to make y'all upgrade any more than you have to. You're busy, and I don't want to take up your time unless there's something really big to gain from doing an upgrade.
Two big sets of news this month! The Consultant Toolkit now supports imports to a database so you can track your clients' health and performance over time, and sp_BlitzCache has a new @AI parameter.
Set @AI = 2, and get a prompt you can copy/paste into the AI of your choice to help you tune the query.
Set @AI = 1, and we'll actually call ChatGPT or Google Gemini for you and return the advice.
You're busy, so I'll keep this short.
Several months from now, you're gonna have a salary review. Your manager is going to ask what you've been up to, and you're not going to have a lot of great answers. Copilot isn't tracking your successes for you.
First off, I understand if you read the headline and you have a knee-jerk reaction. I totally understand that there are a lot of people out there who hate AI, and believe me, I hate most uses of it. Lots of its advice can be misleading at best, and absolute garbage at worst. However, if…
This quarter's release includes new checks for SQL Server 2025's new memory pressure warnings, Azure SQL DB's operations in progress, accurate CPU usage on Docker containers, warnings about not using partitioned statistics where appropriate, and much more. If you'd like to thank me for my work in maintaining the First Responder Kit, the best way…
This quarter's release includes new checks for SQL Server 2025's new memory pressure warnings, Azure SQL DB's operations in progress, warnings about not using partitioned statistics where appropriate, plus bug fixes.
To get the new version:
I'mma wax philosophical for a second: I love the open source nature of the First Responder Kit because it lets anybody, anywhere, diagnose database problems faster. If you're a full time employee somewhere today, you owe it to yourself to use the FRK scripts because if you ever switch from one company to another, your…
No, that isn't an April 1st joke, heh. I know a lot of vendors are shoving AI down your throat, but I can think of a few ways I actually want to get quick, easy advice from large language models (LLM) when I'm calling the sp_Blitz scripts: sp_BlitzCache will have an @AskAI parameter that sends the…
This quarter's release contains a few advanced warnings & tools, like table input for sp_BlitzLock, new warnings about paused resumable index operations that will be deleted automatically by SQL Server 2022, and a new option to maintain carriage returns and line feeds in sp_BlitzCache's output.
To get the new version:
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.
Brent says: It's really funny how the world works. I wrote what you see below in December 2023 and scheduled it for publication on January 16th (today), hoping to get help from the community to get this process started. On January 9, before the post went live, David Wiseman submitted a pull request with the first steps! More on that at the end of the post. I'm leaving the post as-written in Dec 2023 because it's still useful.
Out of all of the scripts in our free First Responder Kit, sp_BlitzBackups is probably the one you've used the least. Let's talk about what comes out of it, and why you should use it more often.
First, let's define two terms:
sp_Blitz is a free health check script that gives you a prioritized list of things to fix on your SQL Server. Here's what the output looks like: Most of the time, you'll want to work through the warnings in the order that they show up in the results, in priority order. How to Skip Checks…
sp_BlitzIndex analyzes the design & health of your clustered & nonclustered rowstore indexes and gives you suggestions on how to get higher performance without changing your queries.
If you run it with no parameters, you get advice on the indexes in the current database:
This morning I worked on a new check for sp_BlitzFirst to find statistics that were updated in the last 15 minutes, possibly causing plan caching issues and parameter sniffing. I streamed it live, and you can watch.
In part 1, the first hour, I write the proof-of-concept query:
During the quarantines, I'm looking for new ways to help you level up for free.
I decided to start live-streaming whenever I'm working on things I can share with you publicly. I wanted to add a new check to sp_Blitz, so I figured I'd do it live on camera while you watch, and talk you through my thought process.