Real-time Grafana Dashboards

Coming soon. Subscribe for updates.

SQL Server Monitoring Framework

Open Source and free. Because every environment is a production environment for someone.

Free SQL Server Monitor Power BI Dashboard
Performance data logger written in T-SQL
  • Power BI Dashboard for data analysis and recommendations​
  • Driven by SQL Agent or Windows Task Scheduler​
  • Local data collection to a local database​
  • Lightweight with minimal overhead​
  • Designed for long term storage​
  • Decentralised, every instance monitors itself​
  • Perfect for large environments.​
  • No limit on number of monitored instances​
  • Optional central repository for improved reporting​
Simple, one-line installation with dbatools

Install-DbaSqlWatch -SqlInstance YourSQL1, YourSQL2
Offline installation methods available
Deploy DacPac in SSMS or directly from Visual Studio
Push collected data to Azure Log Monitor
Leverage Azure Workbooks for reporting
Reduce local footprint
Customisable alerts and notifications
  • Customisable alerts. You decide what alerts you’re getting
  • Customisable templates. You can change what the alerts look like: Plain text, HTML, JSON, XML
  • PowerShell based actions for almost limitless integrations
  • Send Push notifications to mobile phones
  • Run executables and SQL Commands
  • Webhooks integration
  • Send Push notifications to messaging platforms: Slack, MS Teams
  • Send Emails

How it works

1. Collect

Each server collects its own, pre-defined or user-defined, high-granularity performance metrics.

2. Store

Collected data is written to a local database, optimised for long term storage.

3. Check

Checks run periodically to make sure all metrics are within the required thresholds.

4. Action

Out of bound checks can send notifications or perform arbitrary remedial or integration actions.

5. Report

Analyse historical performance data using the provided Power BI Dashboard.

6. Archive

Automatically aggregates and archives high granularity data for long term storage.


SQLWATCH is a data logger. It logs performance data, disk utilisation, agent history, index performance and few other important metrics. It also uses extended events to capture “interesting” workload and transactions, such as long queries or blocking chains.

Without a doubt it is something a lot of DBAs have done in their careers to support their systems. A lot of you will have some scheduled agent jobs that collect certain data or even SSIS packages that collect data from across the entire estate. The problem with you doing it yourself is that you then have to support it :) Instead, we can do it together, share the knowledge and experience with the help of the fantastic SQL Server community.

Yes, SQLWATCH is completely free under MIT license.

During my career I have come across a large number of enterprise environments that were not allowed to install third party executables but DBAs were often free to install anything within the SQL Server scope. SQLWATCH is essentially a SQL Server database with some agent jobs that collect data and completely within the remit of DBAs.

It may not be the most efficient way of collecting data. For example, a .NET service would offer multithreading and the ability to collect from remote servers, but being written in T-SQL gives additional benefit of being completely transparent and easy to fix, debug and expand by any DBA or SQL Developer.

If there is a enough demand and support from the SQL Server community I may consider an option for a .NET service.

SQLWATCH was born as an ad-hoc monitoring solution I was using during end to end performance testing and tuning and was not designed to provide all the features that paid monitoring solution provide. However, it enables DBAs to monitor all the environments not covered by their enterprise monitoring license such as development, QA, DR or even Production, if you have no other monitoring.

It’s my way to give back to the SQL Community, I am not looking for anything in exchange but you can buy me a coffee if you like:

Getting Started

The easiest way to install SQLWATCH is to use dbatools:

Install-DbaSqlWatch -SqlInstance SQLSERVER1,SQLSERVER2,SQLSERVER3 -Database SQLWATCH

Check our documentation for requirements, architecture and other methods to install SQLWATCH


If you need help, please check our documentation first. If you do not find what you are looking for, or if you think there is a bug, please check GitHub Issues. Alternatively we are also getting started with a user forum. If you are still facing issues and want to talk to me, you can find us on Twitter, or our Slack Channel where you can also find other SQLWATCHers. 

Slack is a collaboration platform (similar to the good old IRC) where the SQL Community has its own place. It is free to join but you will require an invite. The Community is managed by fantastic Chrissy LeMaire from dbatools and you can obtain an invite on their website:

Used by:
This site, like most websites, uses cookies. By continuing to use this website, you agree to their use.