Skip to content

Releases: BrentOzarULTD/SQL-Server-First-Responder-Kit

Fine Leather Goods

27 Jun 20:54
Compare
Choose a tag to compare

sp_Blitz Improvements
#1620: @AAvella schooled us on Group Policy registry settings. Someday, we'll get our act together as a group.
#1631: We'll now tell you if there's an update available for your SQL Server version. For most of you, that's a yes.
#1633: If your plan cache has been cleared yesterday, we check the size of the userstore_tokenperm cache to see if it's >2gb.
#1634: Update RDS compatibility. We had some recent checks built that didn't get along well with it.

sp_BlitzCache Improvements
#1612: @bertwagner has perfect hair, and perfect syntax. We bow to his knowledge of equals signs.
#1624: @digitalohm let us know about a BlitzCache error when looking at large query plans.

sp_BlitzFirst Improvements
#1623: @stgioia Doesn't need to be warned about log shipping running. It should be running. You should check on that.

sp_BlitzIndex Improvements
#1610: @way0utwest thinks dta indexes are poorly named, and we agree! Now if you look over in the create t-sql column of sp_BlitzIndex, we'll give you rename commands for your dta indexes.
#1626: Brent was doing some documentation digging, and decided we should show you the page latch and io waits in dm_db_index_operational_stats when available. That Brent, always wanting to show you things.

sp_BlitzQueryStore Improvements
#1627: @OmnipotentOwl is working hard and playing harder in Azure, and fixed up our version checks for Managed Instances. Oh, you don't have a Managed Instance? Maybe try being less dull. All the cool kids have one.
#1624: Same as BlitzCache

sp_DatabaseRestore Improvements
#1645: @digitalohm added the ability to choose between executing and printing commands
#1653: @ShawnCrocker Got us on the right path, and switched parts of the code over to use xp_dirtree instead of xp_cmdshell
#1657: @ShawnCrocker Fixed up parts of the code that weren't using CommandExecute.

PowerBI
Nothing this time around

sp_BlitzLock
Nothing this time around

sp_BlitzInMemoryOLTP Improvements
Nothing this time around

sp_BlitzWho Improvements
Nothing this time around

sp_BlitzBackups Improvements
Nothing this time around

sp_AllNightLog and sp_AllNightLog_Setup Improvements
Nothing this time around

sp_foreachdb Improvements
Nothing this time around

Expletive Deleted

04 Jun 17:35
Compare
Choose a tag to compare

Tme fr Anthr Frst Rspondr Kt Rl**s.

All joking aside! A big thank you goes out to a few people this go around:

@jadarnel27 for not only contributing a bunch of Super Professional T-SQL, but also for writing a web scraping application to compile a list of current SQL Server versions.

@nedotter @ktaranov and Nagorskiy for putting together a brand new stored proc: sp_BlitzInMemoryOLTP, to examine your In Memory stuff. For documentation on that, head on over to: http://nedotter.com/archive/2017/10/in-memory-oltp-diagnostic-script/

@EmanueleMeazzo has done an outstanding job working on both PowerBI and the backing queries in sp_BlitzFirst lately. I'm amazed anyone has this much patience -- both for dealing with us, and with PowerBI.

Now that we're done being all emotional, let's get to the nitty gritty.

sp_Blitz Improvements

#1565: When determining processor speed and power settings, we weren't accounting for people being on AMDs. I know, I know. Who would ever do that to their SQL Server? (@jadarnel27)
#1585: @rsocol let us know that we weren't ignoring DBCC USEROPTIONS. Consider it done!
#1592: @Tisit let us know about some row duplication when checking for procs with recompile. This has been fixed with the healing power of DISTINCT.
#1606: @CCUMan let us know about an arithmetic overflow issue they were hitting. Darn milliseconds.
#1603: Microsoft announced some new ignorable AG waits, along with some other surprises and gotchas around AGs:

When the host server has 32 or more CPU cores, each database will occupy 16 parallel redo worker threads and one helper worker thread. It means that all databases starting with the 7th database (ordered by database id ascending) that has joined availability group it will be in single thread redo or serial redo irrespective which database has actual redo workload. If a SQL Server Instance has a number of databases, and it is desired for a particular database to run under parallel redo model, the database creation order needs to be considered. Same idea can be applied to force a database always runs in serial redo model as well.

sp_BlitzCache Improvements

#1559: Fixed an issue where unsafe XML characters weren't displaying correctly in clickable columns
#1561 A friendly user finally helped us track down when some data was causing truncation errors when looking at cached paramaters. Blame it on CASE expressions in WHERE clauses.
#1564 & #1578: SET OPTIONS for stored procs and statements are now logged in the cached execution parameter clickable column.
#1575: Fixed math for tallying proc and statement costs
#1594: @tompazourek hates leading spaces. He let us know by changing the SUBSTRING arguments for the warnings column

sp_BlitzFirst Improvements

#1557: When we show CPU usage from ring buffers, we were only showing the most recent one. Now we show you all of them so you can see if something went terribly wrong recently.
#1581: We fixed sp_BlitzFirst to only alert when only > 20GB of memory is free. Thanks to @dbadave87 for letting us know about that one!
#1586: @EmanueleMeazzo fixed a little bug around dynamic view creation, reported by @smcnaughton. Yay, we didn't have to do any work.
#1603: Same as in sp_Blitz.

sp_BlitzIndex Improvements

#1588: More clear wording around what aggressive index warnings are and mean, and how to approach fixing them.

sp_BlitzQueryStore Improvements

Just about the same stuff as sp_BlitzCache.

PowerBI

#1579: Standard deviations! @EmanueleMeazzo added a couple new pages to help you figure out if any current metrics are much higher than usual. This is badass.

sp_BlitzLock

@jadarnel27 added some great stuff:
#1572: Added deadlock priority to the results
#1573: Filtered out Heaps from deadlock index info.
#1597: Added the entire deadlock graph for easy distribution

I'm starting to think Josh has a deadlock problem.

sp_BlitzInMemoryOLTP Improvements

Initial release! Mazel tov!

sp_BlitzWho Improvements

Nothing this time around

sp_DatabaseRestore Improvements

Nothing this time around

sp_BlitzBackups Improvements

Nothing this time around

sp_AllNightLog and sp_AllNightLog_Setup Improvements

Nothing this time around

sp_foreachdb Improvements

Nothing this time around

Darn May Showers

30 Apr 22:19
Compare
Choose a tag to compare

There's usually something that I think is funny in this space. Instead, I'm going to extend my already extensive day of civic duty by letting you know something interesting about jury duty.

Sometimes, if you show up when they ask you to, they can make you come back for a second day if they don't pick enough people to fill a a jury on the first day.

They'll also be kind enough to give you absolutely no notice and be entirely inflexible about letting you reschedule.

Ah, the joys of not having to worry about customer satisfaction.

Not like us. We care about what each and every one of you thinks about these scripts, for free.

(strums guitar)

sp_Blitz Improvements

#1537: In older versions of SQL Server, if you ran into CMEMTHREAD waits, you'd flip on Trace Flag 8048 at startup and your problems would likely go away. On 2016+, that's the default behavior. But apparently you can still run into CMEMTHREAD. We tried to give you better guidance, but Bob Ward wouldn't let us put his phone number in there. Can't imagine why. Oh well. Hi Bob!
#1552: Ever go to fix a typo and make another typo? Well, that typo is fixed now. Fixed for good.

sp_BlitzCache Improvements

#1522: We sort the second result set more prettier (according to Brent) now. It has good Lo Mein or whatever.
#1525: Busy Loops wording is more consistent. It used to be "frequently executed operators", which was downright confusing at times.
#1528: @RichBenner is a much more forgiving entity than I am. We'll now let you get away with not patching 2017 past CU3 without throwing vicious errors.
#1543: With 2016 SP2 getting released, a bunch of the XML attributes that used to only be in 2017 got back ported. Stuff like tempdb spills and row goal information. You should totally upgrade. I'll be your best friend.

sp_BlitzFirst Improvements

#1545: Eagle Eyed Professional Man With Standard @goochjj noticed that some of the dynamic SQL in sp_BlitzFirst was adding single use plans to the cache. He fixed that with some rather cunning parameterization.
#1388, #1389, #1396: @EmanueleMeazzo did a metric t-rex load of work rewriting the views and view creation syntax so they'll be faster. This has been in the works for a while, but totally worth it. We salute your patience!

sp_BlitzIndex Improvements

#1532: The taller and better looking version of me, @amtwo, spotted some wonkiness with the way we displayed data types for indexes with descending orders. Namely that uh, we weren't showing them. Case expressions are hard sometimes. You just never want them to end.

sp_BlitzWho Improvements

#1527: @TaraKizer noticed that sometimes wait times were wrong for parallel queries. This has been corrected with gusto.
#1531: A lot of times when you're troubleshooting parameter sniffing, you can see the bad plan running. Getting the plan handle to knock it out of the cache is a pain. There's right clicking and XML. Or at least there used to be. Now we surface it in @ExpertMode.

sp_BlitzQueryStore Improvements

#1544: I had made a bunch of changes in BlitzCache to put some checks in @ExpertMode and tidy up URLs, etc. They've all been added here so output should be aligned. There were also some behind the scenes changes to make sure we're only diagnosing parameter sniffing for multi-use plans, and we're not flagging unmatched indexes in trivial plans.

sp_DatabaseRestore Improvements

Nothing this time around

sp_BlitzBackups Improvements

Nothing this time around

sp_AllNightLog and sp_AllNightLog_Setup Improvements

Nothing this time around

sp_foreachdb Improvements

Nothing this time around

PowerBI

Nothing this time around

sp_BlitzLock

Nothing this time around

Disjunction is too a word.

29 Mar 20:35
Compare
Choose a tag to compare

Ugh. Bungabase slow.

When Grog try count meat, Glug eat meat.

Then Grog get hungry and Glug try count meat.

Bungalock.

Need big head make bungabase fast.

You big head?

sp_Blitz Improvements

#1459: A while back, Brent blogged about implicit transactions. In the comments, a smart commenter named Dan pointed out a way to find that with a couple DMVs. If you'd like that information to be available in more places, please consider voting for my Connect item. This check was also added in different ways to BlitzWho and BlitzFirst.
#1483: Add CPU speed to the power settings check.
#1481: Brent made stuff compatible with Managed Instances. Hopefully that holds up.
#1465: Someone had a problem in German. This is an infrequent occurrence.

sp_BlitzCache Improvements

#1516: Added support for correctly displaying Unicode database names ಠ_ಠ
#1489: We had a whole heck of a lot of checks running. It's not that they weren't useful, it's just that they created a lot of noise, and may not all have been immediately actionable. All that XML parsing was starting to slow things down. I took a bunch of them and changed the code so they only execute if you run it with @ExpertMode = 1.

sp_BlitzFirst Improvements

#1459:

sp_BlitzIndex Improvements

#1513: Added support for correctly displaying Unicode database names ಠ_ಠ
#1509: The column names column in the #statistics table is now NVARCHAR(MAX). This was reported to us in the Slack channel! Thanks to Sanket for letting us know.

sp_BlitzWho Improvements

#1459:

sp_DatabaseRestore Improvements

Nothing this time around

sp_BlitzBackups Improvements

Nothing this time around

sp_BlitzQueryStore Improvements

Nothing this time around

sp_AllNightLog and sp_AllNightLog_Setup Improvements

Nothing this time around

sp_foreachdb Improvements

Nothing this time around

PowerBI

Nothing this time around

sp_BlitzLock

#1500: Column Store deadlocks generate slightly different XML. We now account for those.

Get a neck tattoo and get a fake job

28 Feb 20:41
Compare
Choose a tag to compare

APRIL FOOLS! IT'S ONLY MARCH FIRST!

Tomorrow.

Butthead.

sp_Blitz Improvements

#1407: @parlevjo2 gave us a check to make sure databases are owned by an existing user. Existence is everything, so I hear.
#1416: After existence is probably location. After that is collation. @ktaranov let us know that our collation wasn't all that. Especially if you have Unicode characters in database names. What a drag.
#1424: @rainyclouds pointed out that we missed some way out wiggy weird file names when we go looking for dangerous modules.
#1441: We updated our unsupported build list. I wish it were longer. Particularly, I wish it included everything before SQL Server 2012. Speaking of which, did you know both 2008 and 2008R2 will no longer be supported in July 2019? I was thrilled by that too.
#1447: Containers. Yeah. What? That's so last year. Lemme know when there's an is_serverless column or something. God.

sp_BlitzCache Improvements

#1386: Did you know that dynamic cursors can be, like, totally bad? Eh, you do now. Maybe someone might oughtta tell the Dynamics team about that.
#1397: Marbles and inquisitions. Or whatever. But look, sometimes Merge Joins do this whole Many to Many thing that makes them do a whole bunch of extra work. Check, checked.
#1402: Fixed a version checking bug for sorting by memory grants. This is why I like when things go out of support. I don't have to do version checking anymore. Did I mention that both 2008 and 2008R2 will no longer be supported in July 2019?
#1410: We explicitly flag MSTVFs when they have a cardinality of 1 or 100, to avoid flagging the less icky ones that receive interleaved execution in 2017. I mean, sure, they could overlap. But you'll never upgrade anyway, even though both 2008 and 2008R2 will no longer be supported in July 2019.
#1421: Math isn't my strong point. But I fix it when I can. For instance, I have no idea how many months it is until both 2008 and 2008R2 will no longer be supported in July 2019.
#1438: Since we're being futuristic, we're also aggregating tempdb spills for any statements we find in the plan cache associated with a stored procedure. Like everything else. Heh heh heh.
#1445: Every time Brent is like "there's this thing we can't possibly do with BlitzCache, I take it as a personal insult. The latest affront was to say that I couldn't find non-SARGable queries. A case of Laphroaig Cask Strength, 40 noise complaints, and a dead drifter later, BlitzCache will now tell you if you have a system function in your where clause, an expression in your join clause, or a like with a leading wildcard.

sp_BlitzFirst Improvements

Just like CIV, sometimes BlitzFirst can't wait one minute more. Especially in a WAITFOR. When it can't wait another second. Thanks to @Adedba for letting us know! Just like I can't WAITFOR both 2008 and 2008R2 will no longer be supported in July 2019.

sp_BlitzIndex Improvements

#1449: Someone out there had a computed column definition that was so long, we had to get a bigger column. That someone was @thirster42. Check out the computed columns on that guy!

sp_BlitzWho Improvements

Nothing this time around

sp_DatabaseRestore Improvements

Nothing this time around

sp_BlitzBackups Improvements

#1425: Time and tide wait for no man, or SQL Server release. It doesn't even matter if you're in a weird time zone. Or Twilight Zone. It won't even matter when both 2008 and 2008R2 will no longer be supported in July 2019. Thanks to @jfoudy for the heads up on this one! Now you'll know which time zone your backups are happening in.

sp_BlitzQueryStore Improvements

Probably like the same stuff as BlitzCache but who can keep track honestly?

sp_AllNightLog and sp_AllNightLog_Setup Improvements

Nothing this time around

sp_foreachdb Improvements

Nothing this time around

PowerBI

Nothing this time around

sp_BlitzLock

Nothing this time around

Sunday, Boring Sunday

28 Jan 17:23
Compare
Choose a tag to compare

This is a modified limited release.

After a few new feature releases, we're achieving stasis.

There are a couple points from the last release that I really need to emphasize:

  1. sp_BlitzCache got some new columns added to the output for tempdb spills. If you want to keep logging it to a table either by itself, or as part of sp_BlitzFirst, you need to either drop the table and let sp_BlitzCache recreate it, or run this command to add the new columns:

ALTER TABLE dbo.YourTable ADD MinSpills BIGINT, MaxSpills BIGINT, TotalSpills BIGINT, AvgSpills MONEY

  1. If you're running 2017, you NEED TO BE ON CU3 for sp_BlitzCache to run. This is too important of a CU for y'all to be skipping. I'd be doing you a disservice by writing in minor version checks at this early point in the release process.

sp_Blitz Improvements

#1382 @RichBenner went to the mall and balled too hard. When he came back, he brought us a check for stacked instances. Ah, the lovely things you can find with xp_regread
#1393 @elsimer Fixed my fat fingered attempt at fixing XE session names. Apparently Microsoft meant to have one with a space in the name. Ho hum.

sp_BlitzCache Improvements

#1379 Added analysis for tempdb spills. I got so caught up in adding the new sort order, I totally brain farted on adding checks. A smart person would have implemented the easy part first. I am not that smart person.
#1380 Corrected the math used to calculate average spill size. See above comment.

sp_BlitzFirst Improvements

Nothing this time around

sp_BlitzIndex Improvements

Nothing this time around

sp_BlitzWho Improvements

Nothing this time around

sp_DatabaseRestore Improvements

Nothing this time around

sp_BlitzBackups Improvements

Nothing this time around

sp_BlitzQueryStore Improvements

Nothing this time around

sp_AllNightLog and sp_AllNightLog_Setup Improvements

Nothing this time around

sp_foreachdb Improvements

Nothing this time around

PowerBI

Nothing this time around

sp_BlitzLock

#1398 Added a proc level recompile hint.
#1395 Added filters to the checks for available proc variables. Not every check can be filtered by every variable, so counts may look a little wonky. We'll see how it goes. If this is good enough, I'll leave it. Otherwise, I may move to using a wide table to do all checks from.

It's too cold not to do a release

09 Jan 21:50
Compare
Choose a tag to compare

You look just like a snake when you crawl like a worm.

sp_Blitz Improvements

#1310: @CferMN reported quite an odd conversion error! Turns out, division was a better idea than multiplication.
#1341: We we missing the newest version of Windows, and we had a broken link. Thanks to @JaySpatz for letting us know!
#1359: Something we've all wanted for a long time: We now tell you which power plan your server is running. It turns out there are three major ones that have been around since like, forever. If you have a weird custom power plan, let us know! Some manufacturers add their own. We are using xp_regread to do this, which we think is less intrusive than xp_cmdshell.

sp_BlitzCache Improvements

There have been quite a few improvements and fixes around the new clickable columns. I do apologize (and take full responsibility for) the bugs. Hopefully this'll be the end of it, but just saying that... Long story short, did you know that QUOTENAME returns NVARCHAR(258)? #1322, #1327, #1329, #1365
#1325: We not grab schema along with store proc/function names
#1349: Improve the handling of some warnings that were firing inconsistently when multiple statements were in a batch
#1331: To improve documentation, I added URLs to a bunch of warnings that were missing
#1366 Add tempdb spills (and a new spill/avg spill sort order), 2017 cu3+ only
#1370: Basic collection of new row goal information, 2017 cu3+ only

sp_BlitzFirst Improvements

#1367: Add new CXCONSUMER wait to list of known waits. 2017 cu3+ only (also supposedly coming to 2016 sp2)

sp_BlitzIndex Improvements

#1337: @js0505 was kind enough to add a data compression switch to index create statements
#1344: New check for indexes with a bad read to write ratio. These are indexes that do get used by read queries, but get way more writes.

sp_BlitzWho Improvements

Nothing this time around

sp_DatabaseRestore Improvements

Nothing this time around

sp_BlitzBackups Improvements

Nothing this time around

sp_BlitzQueryStore Improvements

All the same stuff as sp_BlitzCache, except the tempdb spill info, because that wasn't added to query store DMVs.

sp_AllNightLog and sp_AllNightLog_Setup Improvements

Nothing this time around

sp_foreachdb Improvements

Nothing this time around

PowerBI

Nothing this time around

sp_BlitzLock

#1350: @DaleKBurrell let us know about a fix for illegal XML characters! Thanks!

Super Nofriendo

05 Dec 16:42
Compare
Choose a tag to compare

Object reference not set to an instance of an object.

sp_Blitz Improvements

  • #1281 We've lowered the priority of Query Store being disabled. It's just not as important as the backups you're not taking and the corruption checks you're not running.

sp_BlitzCache Improvements

  • #1253 Due to an unfortunate copy and paste incident, the rolled up warnings about index spools were both looking at the same flag column. That has been fixed. Thanks to @jobbish-sql for letting us know!
  • #1256 We've improved the handling of many indexes being modified to be more accurate. Less wrong. Ahem. Thanks to @JimmyParker for reporting this one.
  • #1261 Added a new clickable column that presents ALL missing index requests for a query in order of estimated impact. Only fires when a missing index has an impact of > 70%. Beat that, SSMS.
  • #1316 More work to tidy up the implicit conversion and compiled value clickable columns.

sp_BlitzFirst Improvements

Nothing this time around

sp_BlitzIndex Improvements

  • #1138 The aggressive lock warning was showing the incorrect number of nonclustered indexes
  • #1149 Adds an index on #IndexColumns that can maybe probably kinda help improvement when this table has a lot of objects in it. Thanks to @SAinCA for letting us know!
  • #1311 If we report that your Heaps (HEAPs? heaps?) have forwarded records in them, we supply you with the REBUILD command to fix them. Now you don't have to go lookup the REBUILD command to fix them.

sp_BlitzWho Improvements

  • #1188 We have pruned the default columns shown! If you want to see all of the columns, you need to use @ExpertMode = 1
  • #1203 There were two columns named used_memory_kb from two different tables. We've clarified their origins. Thanks to @hfleitas for letting us know!
  • #1255 If you're using context info, we'll display that in the aforementioned expert mode. This sounds like expert stuff. Thanks to @eaglejohn81 for the request, and @SQLGumbo for writing the code and tests!

sp_DatabaseRestore Improvements

  • #1152 We can now put a database into Standby after doing log restores. Thanks to @James-DBA-Anderson for the idea and code!
  • #1242 We now throw and error when credentials to a mapped drive are incorrect.

sp_BlitzBackups Improvements

Nothing this time around

sp_BlitzQueryStore Improvements

All the same stuff as sp_BlitzCache

sp_AllNightLog and sp_AllNightLog_Setup Improvements

  • #1242 We also try to catch invalid credentials here
  • #1243 Removes a faulty where clause that prevented some backups and restores from being triggered

sp_foreachdb Improvements

  • #1318 @amtwo taught this old dog a new trick. It's now AG aware, and won't try to run commands on databases that are online but aren't accepting connections.

PowerBI

  • #1257 We were missing some time slices. Now we're not. Thanks to @tcartwright for letting us know and contributing a fix!
  • #1236 Now the Power BI Dashboard for DBAs prompts you for the server name & database when you open it.

sp_BlitzLock

We've got a new family member. This will examine the system health or a custom extended event session that captures deadlocks. 2012+ only. Blog posts about usage to follow. For now, head over to the GitHub documentation.

No one believes me when I say I'm not hungry

14 Nov 16:30
Compare
Choose a tag to compare

This is a cleanup release to get some of the pull requests in that didn't make it in before the precon.

There's also a secret unlockable character that Brent is blogging about this week!

Please clap.

sp_Blitz Improvements

  • #1199 We've updated the unsupported builds list! Now you can numerically gauge how bad you are at patching SQL Server. Thanks to @tony1973 for letting us know about this. Apparently he's really good at patching SQL Server!
  • #1205 We now guarantee a total lack of duplicate Check IDs. Can a primate get a primary key, here? Thanks to @david-potts for letting us know about this one.
  • #1207 If you have read only databases on your server, we'll no longer gripe about a lack of DBCC CHECKDB. Thanks to @Gavin83 for coding this one!

sp_BlitzCache Improvements

  • #1230 Oh, that missing parameter in the dynamic SQL. Thanks to @GrzegorzOpara for letting us know!

sp_BlitzFirst Improvements

  • #1232 No one likes retaining things. Actually, people like retaining everything other than water. Which is weird, since HYDRATION IS IMPORTANT! I'm not a doctor, but this new parameter is a good way to purge old perf data. Put your data on a diet.

sp_BlitzIndex Improvements

Nothing this time around

sp_BlitzWho Improvements

Nothing this time.

Next time around, we're going to be pruning the default list of columns that it returns, and adding an @ExpertMode that returns all of them. If you have opinions, now's the time to let us know.

sp_DatabaseRestore Improvements

@ShawnCrocker did a bang up job adding and fixing a bunch of stuff, as only someone who actually needs to restore databases all the time can do!

  • #1198 The @StopAt parameter was being ignored for Full and Diffs -- no more!
  • #1192 There was a dependency bug when moving files was blank. Now we look for the default instance path.
  • #1180 You can now change the recovery model of a database after restoring it!

sp_BlitzBackups Improvements

Nothing this time.

sp_BlitzQueryStore Improvements

Nothing this time.

sp_AllNightLog and sp_AllNightLog_Setup Improvements

  • #1133 Skips over attempting to restore system databases, because what kind of maniac would want that to happen? Thanks to @dalehirt for this one!

sp_foreachdb Improvements

Nothing this time.

A plastic doll with a fresh coat of paint

24 Oct 19:21
Compare
Choose a tag to compare

This release comes to you from a hotel room in Chicago: The land of fiscal insolvency and one shooting per hour.

It's pretty nice, otherwise.

This release is to get the pre-precon important stuff in. As much as I'd like to push all the recent contributions through, between travel, speaking, and uh... what do the rock and roll stars call it? Exhaustion? We just don't have the bandwidth to test everything this time around. I promise they'll make it into the next release, when I have sleep and dual monitors and brain cells again.

sp_Blitz Improvements

Nothing this time. It took me 30 minutes to verify this, because it's so weird.

sp_BlitzCache Improvements

  • #1099 We try to make things easy for you. That's why we make tools like Paste The Plan, and well, sp_BlitzCache. It's also why we answer questions for free on dba.stackexchange.com, along with a whole bunch of other smart folks. To make sure you're aware of this stuff, I added a line to the rolled up warnings on how to get more help with a plan you're stuck on.
  • #1140 A DEBUG MODE UNLIKE NO OTHER! Okay, just like every other. This'll print out dynamic SQL, and run selects on all the temp table used in the proc. As part of this process, I moved (nearly) all the SELECT INTO code to INSERT SELECT, complete with drop/create statements on the temp tables.
  • #1141 For the first time, I think ever, we've removed something. A while back when I was merging stuff from our old private GitHub repo to our new public GitHub repo, I thought these looked like a good idea. They never once fired, and on servers with weird plan cache stuff going on, they sometimes ran for quite a while. Out they go.
  • #1146 We asked, and we listened. The query plan column is now moved way closer to the left in the result set. Now you don't have to scroll 17 screens over to get there.
  • #1159 Refined the implicit conversion analysis queries. They now work much better. V1 of everything stinks.
  • #1195 On the line where we give you percentages of plans created in different time spans, we now give you a count of plans in the cache.
  • #1143, #1166, #1167 All team up to add some new functionality to our scripts as a whole. These changes make it possible for us to add sp_BlitzCache output tables to sp_BlitzFirst analysis,

sp_BlitzFirst Improvements

  • #1106 Those dang time zones, man. Just all the time with the time zones. Zones. Time. Time. Zones. Who can keep track? WE CAN! here's proof.
  • #1154 Brent did this for Brenty reasons. He cares deeply about the Delta Views. When they're more than four hours apart, data can look more like Southwestern Views: cheap, unenthusiastic, sober, domestic.
  • #1175 Okay, so two things got removed. I don't know what world this is anymore. You can no longer ask a question. No, no, now you can log messages. It has something to do with PowerBI, which means I need to take a nap.
  • #1177 We really do try to make things understandable by human beings. Like, normal human beings. Normal human beings don't understand Ring Buffers, but CPU percentages are easy. Hey, Look, we can't all be Jonathan Kehayias. If we could, we could keep talking about Ring Buffers.
  • #1200 AGAIN WITH THE TIME ZONES! And again, we prevail like mighty warriors... Okay, so more like a bunch of middle aged doughballs with God awful posture. But still. If you close your eyes, anything is possible. Especially naps. God I want a nap.
  • #1144, #1169 These are part of the BlitzCache stuff that make the PowerBI stuff work.

sp_BlitzIndex Improvements

  • #1132 When you have a lot of partitions, sometimes things run dog slow. Sometimes you don't know that. Sometimes you don't care. If you have > 100 partitions in the database, we skip partition level details. If you want to get them, you need to use the @BringThePain parameter.
  • #1160 Remember those AG things? We do too. Especially when they make sp_BlitzIndex fail. We skip those databases that aren't in a readable state.

sp_BlitzWho Improvements

Ain't not nothin'. Next time around, we're going to be pruning the default list of columns that it returns, and adding an @ExpertMode that returns all of them. If you have opinions, now's the time to let us know.

sp_DatabaseRestore Improvements

  • #1135 @James-DBA-Anderson (seriously that's his middle name) added a check for permission denied messages from directory listings. Hurrah.
    Next time around, the Most Famous Mullet On The Internet® is going to have a whole bunch of cool new tricks added. I'm more excited about these than I am about the stint in rehab I'm going to need after this trip.

sp_BlitzBackups Improvements

Nothing this time.

sp_BlitzQueryStore Improvements

  • #1178 The result sorting was stupid. I don't know why I picked Query Cost. Probably that darned exhaustion, again. Now we order by the last execution time. We do this especially because when you're troubleshooting parameter sniffing issues, it helps to know which version of a query executed most recently.
  • #1182 We're now way more 2017 compatible. A couple of the new and interesting metrics added to Query Store (tempdb used, log bytes used) are now fully supported in the metrics gathering. Before they were only mildly supported. Like used hosiery.

sp_AllNightLog and sp_AllNightLog_Setup Improvements

Ain't not nothin'!

sp_foreachdb Improvements

Ain't not nothin'!