I get asked a lot about the tools I use at Stack Overflow to monitor and work with our SQL Servers. I figured it might be helpful to others to make the list public. I’ll also do my best to keep it updated as things change.

The current list of both free and 3rd party paid tools is below:

Free Tools

  • Opserver - Stack Exchange’s Monitoring System - I pretty much live in our instances of Opserver because it gives me a one-stop shop to see the health of all of our SQL Servers

  • Brent Ozar’s First Reponder Kit. This is filled with lots of goodies to help you understand what’s going on with your server. Currently we install these scripts from the kit:

    • sp_Blitz.sql
    • sp_BlitzCache.sql
    • sp_BlitzFirst.sql
    • sp_BlitzIndex.sql
    • sp_BlitzLock.sql
    • sp_BlitzQueryStore.sql
  • Adam Machanic’s sp_whoisactive - this is similar to executing sp_who2 but provides a more detailed look at what is happening on your server

  • sp_hexadecimal and sp_help_revlogin to transfer logins between instances of SQL Server

  • Ola Hallengren’s SQL Server Maintenance Solution for Backups, Integrity Checks, and Index and Statistics Maintenance. We don’t use the entire package of scripts, but we currently use:

    • DatabaseIntegrityCheck.sql
    • IndexOptimize.sql
    • CommandExecute.sql
    • CommandLog.sql
    • DatabaseBackup.sql - we use a modified version of this script everywhere
  • dbatools PowerShell modules

  • Erik Darling’s SQL Server Troubleshooting Scripts - additional tools to help you identify and troubleshoot problems with your SQL Servers

  • Columnstore Maintenance Scripts from a few places:

3rd Party Tools

  • SentryOne Plan Explorer - this is a great tool to review execution plans. I find it far easier to review execution plans in Plan Explorer than in SQL Server Management Studio

  • SentryOne SQL Sentry monitors all of our SQL Servers and provides excellent details on performance and insight into specific queries that might be running during various CPU spikes or other periods of concern

  • ApexSQL SQL script generation - there are times we need to rebase our SQL migrations and this tool is a great way to script out all objects and data

All the SQL scripts get deployed via process that I wrote. I’ll share how I do that in my next post.