sp_BlitzFirst v14 adds CPU % Utilization

SQL Server
1 Comment

When your SQL Server is having performance problems, sp_BlitzFirst® checks a bunch of common trouble spots. In this week’s new version, it also checks sys.dm_os_ring_buffers for the most recent CPU utilization report from SQL Server and returns it.

Here’s what it looks like when the server isn’t under load – note that “No Problems Found” means the rest of the alerts are just information about the SQL Server:

sp_BlitzFirst on low-load server
sp_BlitzFirst on low-load server

And here’s a heavily loaded server:

sp_BlitzFirst on a server under high CPU loads
sp_BlitzFirst on a server under high CPU loads

I haven’t been blogging about this tool much, but I’ve become quite proud of it over the last few months.

Parameters include:

@Seconds = 5 – you can run it for longer periods like 60 seconds to see the server’s health during that time range. It’s really useful when you’re tuning a query or doing a presentation demo – fire it off on a 60-second span, go run your query or workload in another window, and then come back to sp_BlitzFirst to see what the effects were. Especially useful when combined with…

@ExpertMode = 1 – returns more result tables including wait stats, Perfmon counters, and my personal favorite, file stats – which shows you how much your workload read and wrote from your data/log files and TempDB:

sp_BlitzFirst file stats with expert mode on
sp_BlitzFirst file stats with expert mode on

@OutputDatabaseName, @OutputSchemaName, @OutputTableName – you can log results to tables. Some folks are running sp_BlitzFirst® every 5 minutes in a SQL Agent job, dumping the data to a table, so that they can go back in time and trend what happened on the server. This got better in last month’s v13, which also added the ability to output the file/Perfmon/wait stats details to individual tables too.

To get started, download our First Responder Kit with our latest scripts, posters, and e-books.

Previous Post
Signing off
Next Post
The Top 3 Mistakes T-SQL Developers Make

1 Comment. Leave new

  • It´s a nice script.
    What impact will it have to run this regular with save to table?
    Does it impact change if @seconds increase to 60s ?

    Maybe this is worth an own blogpost.

    Thanks, Magnus


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.