- 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
Install-DbaSqlWatch -SqlInstance YourSQL1, YourSQL2
- 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
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.
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: https://dbatools.io/slack/