Skip to content

SQLDBA-ORG/SQLHealthCheck

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

19 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ₯ SQL Server Health Monitor

.NET SQL Server License Release

A professional SQL Server health monitoring application with real-time dashboards, 230+ built-in health checks, and enterprise multi-server support.

SQL Health Monitor Dashboard


πŸ“₯ Download

Latest Release - v25

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.

System Requirements

  • 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 STATE permission on target SQL Server(s)

✨ Features

πŸ–₯️ Live Monitoring Dashboard

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

πŸ“Š Health Check Dashboard

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

🏒 Enterprise Multi-Server Support

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

πŸ”§ Extensible Check System

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

πŸš€ Quick Start

Option 1: Download Pre-Built Release (Easiest)

  1. Download the latest release from the Releases page
  2. Extract the ZIP file
  3. Run SqlMonitorUI.exe
  4. Click Connect and enter your SQL Server details
  5. Click Run Checks to start health assessment

Option 2: Build from Source

# Clone the repository
git clone https://github.com/YourUsername/SqlHealthMonitor.git
cd SqlHealthMonitor

# Build the solution
dotnet build

# Run the application
cd SqlMonitorUI
dotnet run

πŸ“Έ Screenshots

Main Dashboard

Health check results with severity indicators and category filtering

Main Dashboard

Live Monitoring

Real-time performance metrics with wait statistics graph

Live Monitoring

Multi-Server View

Enterprise view of multiple SQL Server instances


πŸ“– Documentation

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

πŸ—οΈ Architecture

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

πŸ”Œ Integration with sp_Blitz

This tool integrates with Brent Ozar's First Responder Kit:

  1. Download sp_Blitz.sql from the First Responder Kit
  2. In SQL Health Monitor, go to Check Manager β†’ Import Checks
  3. Select the sp_Blitz.sql file
  4. 210+ checks are automatically imported!

You can also run sp_Blitz directly:

  1. Go to Script Manager
  2. Add the sp_Blitz.sql script
  3. Click Run Complete Health Check
  4. Results are exported to CSV automatically

πŸ›‘οΈ Security

  • 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.


🀝 Contributing

Contributions are welcome! Here's how you can help:

  1. Report Bugs - Open an issue with reproduction steps
  2. Suggest Features - Open an issue with your idea
  3. Submit PRs - Fork, make changes, submit a pull request
  4. Share Checks - Contribute new health check definitions
  5. Improve Docs - Help improve documentation

πŸ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.

Credits & Acknowledgments


πŸ“Š Health Check Categories

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

πŸ—ΊοΈ Roadmap

  • PowerShell module for automation
  • Web-based dashboard (Blazor)
  • Historical trending and alerts
  • Email/Slack notifications
  • Azure SQL Database support
  • Linux support (.NET 8)

πŸ’¬ Support


Made with ❀️ for SQL Server DBAs
Stop firefighting. Start monitoring.

About

SQL Health check and audit utility

Resources

License

Stars

Watchers

Forks

Packages

No packages published