A professional SQL Server health monitoring application with real-time dashboards, 230+ built-in health checks, and enterprise multi-server support.
| Platform | Framework | Download |
|---|---|---|
| Windows x64 | .NET 8.0 (Recommended) | SqlHealthMonitor-net8-win-x64.zip |
| Windows x64 | .NET 4.6.2 (Legacy) | SqlHealthMonitor-net462-win-x64.zip |
| Source Code | Source code (zip) |
Note: The .NET 8.0 version is recommended for best performance. Use .NET 4.6.2 for Windows Server 2012 R2 / Windows 7 compatibility.
- Operating System: Windows 10/11, Windows Server 2016+
- SQL Server: SQL Server 2016 or newer
- .NET Runtime: .NET 8.0 Runtime or .NET Framework 4.6.2+
- Permissions:
VIEW SERVER STATEpermission on target SQL Server(s)
Real-time performance monitoring with auto-refresh:
- CPU & Memory Usage - Live server resource tracking
- Wait Statistics - Visual graph of SQL Server waits over time
- Active Sessions - SPID monitoring with blocking detection
- Top Queries - Identify expensive queries by I/O and CPU
- Blocking Chains - Visual representation of blocking sessions
Comprehensive SQL Server health assessment:
- 230+ Built-in Checks - Imported from sp_Blitz and sp_triage
- Category Filtering - Backup, Security, Performance, Configuration, etc.
- Severity Levels - Critical, Warning, Info classification
- One-Click Remediation - View recommended actions for each issue
- Export to CSV/JSON - Generate reports for documentation
Monitor your entire SQL Server estate:
- Multiple Servers - Connect to unlimited SQL instances
- Parallel Execution - Run checks across all servers simultaneously
- Server Health Summary - At-a-glance status for all instances
- Consolidated Reporting - Single view of all server health
Customize checks for your environment:
- JSON Configuration - Easy-to-edit check definitions
- Check Manager UI - Visual editor for creating/modifying checks
- Import from sp_Blitz - One-click import of 210+ checks
- Import from sp_triage - Import 35+ additional check categories
- Custom SQL Queries - Write your own health checks
- Download the latest release from the Releases page
- Extract the ZIP file
- Run
SqlMonitorUI.exe - Click Connect and enter your SQL Server details
- Click Run Checks to start health assessment
# Clone the repository
git clone https://github.com/YourUsername/SqlHealthMonitor.git
cd SqlHealthMonitor
# Build the solution
dotnet build
# Run the application
cd SqlMonitorUI
dotnet runHealth check results with severity indicators and category filtering
Real-time performance metrics with wait statistics graph
Enterprise view of multiple SQL Server instances
| Guide | Description |
|---|---|
| QUICKSTART.md | Get up and running in 5 minutes |
| USAGE.md | Detailed usage instructions |
| UI-WALKTHROUGH.md | Complete UI feature guide |
| CHECK-MANAGER-GUIDE.md | Creating and editing health checks |
| HOW-TO-MODIFY-CHECKS.md | Customizing check thresholds |
| IMPORT-SP-BLITZ-GUIDE.md | Importing sp_Blitz checks |
| DEPLOYMENT-GUIDE.md | Enterprise deployment options |
| SECURITY-FEATURES.md | Security configuration |
| TROUBLESHOOTING.md | Common issues and solutions |
SqlHealthMonitor/
βββ SqlMonitorUI/ # WPF Desktop Application
β βββ Models/ # Data models (SqlCheck, CheckResult, etc.)
β βββ Services/ # Business logic
β β βββ CheckRunner.cs # Executes health checks
β β βββ CheckRepository.cs # Manages check configurations
β β βββ CompleteHealthCheckRunner.cs # Full audit runner
β β βββ SpBlitzParser.cs # Imports sp_Blitz checks
β βββ MainWindow.xaml # Health check dashboard
β βββ LiveMonitoringWindow.xaml # Real-time monitoring
β βββ CheckManagerWindow.xaml # Check editor
β βββ ConnectionDialog.xaml # Server connection
βββ scripts/ # Diagnostic SQL scripts folder
βββ sql-checks.json # Health check definitions
βββ SqlHealthMonitor.config # Application settings
This tool integrates with Brent Ozar's First Responder Kit:
- Download
sp_Blitz.sqlfrom the First Responder Kit - In SQL Health Monitor, go to Check Manager β Import Checks
- Select the
sp_Blitz.sqlfile - 210+ checks are automatically imported!
You can also run sp_Blitz directly:
- Go to Script Manager
- Add the
sp_Blitz.sqlscript - Click Run Complete Health Check
- Results are exported to CSV automatically
- Windows Authentication - Recommended for domain environments
- SQL Server Authentication - Supported with secure credential handling
- Encrypted Connections - TLS/SSL support for SQL connections
- No Stored Passwords - Credentials are not persisted to disk
- Minimal Permissions - Only requires
VIEW SERVER STATE
See SECURITY-FEATURES.md for detailed security information.
Contributions are welcome! Here's how you can help:
- Report Bugs - Open an issue with reproduction steps
- Suggest Features - Open an issue with your idea
- Submit PRs - Fork, make changes, submit a pull request
- Share Checks - Contribute new health check definitions
- Improve Docs - Help improve documentation
This project is licensed under the MIT License - see the LICENSE file for details.
- Brent Ozar Unlimited - sp_Blitz and First Responder Kit (MIT License)
- Microsoft SQL Tiger Team - SQL Server best practices
- Microsoft.Data.SqlClient - SQL Server connectivity
| Category | Checks | Description |
|---|---|---|
| Backup | 15+ | Backup recency, log backups, backup compression |
| Security | 25+ | SA account, permissions, encryption, auditing |
| Performance | 40+ | Index fragmentation, statistics, query plans |
| Configuration | 30+ | Server settings, database options, TempDB |
| Availability | 20+ | AG health, mirroring, log shipping |
| Storage | 15+ | Disk space, file growth, VLF count |
| Memory | 10+ | Buffer pool, plan cache, memory grants |
| CPU | 10+ | Parallelism, scheduler health, CPU pressure |
- PowerShell module for automation
- Web-based dashboard (Blazor)
- Historical trending and alerts
- Email/Slack notifications
- Azure SQL Database support
- Linux support (.NET 8)
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Made with β€οΈ for SQL Server DBAs
Stop firefighting. Start monitoring.


