The Consultant Toolkit’s requirements
SQL Server 2008 or newer – Amazon RDS SQL Server and Azure SQL DB Managed Instances are also fully supported. Azure SQL DB is partially supported, but the Health tab will not be populated since Microsoft doesn’t give us access to a lot of that data.
.NET 4.5.2 or higher – which came out way back in 2014.
Sysadmin permissions – because to query for things like CHECKDB success, you have to be SA. The app will run with lower permissions like VIEW SERVER STATE, and it’ll throw warnings when it’s unable to query those SA-only functions, but you’ll still get a ton of usable diagnostics out of it.
Download & run it on your desktop.
Download the app and extract it to your local drive, like c:\temp. You don’t have to run this on the SQL Server itself – you can run it from any desktop or laptop with at least .NET 4.5.2. Then, to gather diagnostic data on one of your servers, go to a command prompt and run:
AppName.exe --datasource MyServerName
SQL Server authentication:
AppName.exe --datasource MyServerName --userid MyUserName --password MyPassword
If you use tricky characters in your server name, user name, or password, like quotation marks or spaces, you’ll need to surround it with double quotes. For example, if my password is @#!, I might want to use “@#!”.
It’ll take about 5-15 minutes to run a bunch of DMV queries, and when it’s done, check out the Output folder. There’s a zip file with your server’s data.
You can get more data with DeepDive.
By default, it runs a relatively limited set of queries. When you’re working hands-on with a client’s server yourself, and you want even more, add –deepdive (that’s two dashes, not one) as a parameter, and it’ll run more:
AppName.exe --datasource MyServerName --deepdive
Running it in Deep Dive will take longer, though, since it runs more queries.
If you go into the Resources folder, you’ll see the queries it runs: things like sp_Blitz, sp_BlitzCache, sp_BlitzIndex, and other utility queries we’ve written over the years.
Psst: the real name isn’t AppName.exe.
The real app name is shown in the readme file, but I’m purposely not mentioning it here, dear reader, and I never will. (You’ll see it in screenshots here from time to time, but never typed out.)
See, if you’re a consultant, you’re going to be giving this app to your clients to run for diagnostic purposes. I don’t want your clients Googling the app’s name and finding me. This is your tool, the thing that’s gonna give you an edge over the amateurs who are still copy/pasting data out of SSMS.
These queries support SQL Server 2008 and newer. Older database compatibility levels will throw errors as it runs, but you’ll still get a lot of useful data.
Errors? Don’t panic.
This app runs database queries, and…sometimes queries return unexpected results. After all, the client’s in trouble – that’s why they’re calling you! If the app gets any errors, they’ll be logged to the .log text file inside the output.
If you’ve got questions about an error, email us the log file at Help@BrentOzar.com. (You don’t have to send us the whole zip file – just the log is fine.)