<style> .hero { text-align: center; padding: 2rem 0 1.5rem; } .hero h1 { font-size: 2.4rem; margin-bottom: 0.3rem; color: #00ff00; } .hero .sub { font-size: 1.05rem; color: #aaa; margin-bottom: 1.4rem; } .btn { display: inline-block; padding: 0.6rem 1.6rem; border: 2px solid #00ff00; color: #00ff00; border-radius: 4px; text-decoration: none; font-family: monospace; font-size: 1rem; margin: 0.3rem 0.4rem; transition: background 0.15s, color 0.15s; } .btn:hover { background: #00ff00; color: #000; text-decoration: none; } .btn.ghost { border-color: #555; color: #aaa; } .btn.ghost:hover { background: #555; color: #fff; } .badge-row { text-align: center; margin: 0.8rem 0 2rem; } .section-label { color: #00ff00; font-size: 0.75rem; letter-spacing: 0.15em; text-transform: uppercase; margin: 2.5rem 0 0.6rem; } .feature-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1rem; margin: 1rem 0 2rem; } .feature-card { border: 1px solid #333; border-radius: 6px; padding: 1rem 1.1rem; background: #0d0d0d; } .feature-card h3 { margin: 0 0 0.4rem; font-size: 0.95rem; color: #00ff00; } .feature-card p { margin: 0; font-size: 0.85rem; color: #bbb; line-height: 1.5; } .screenshot-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1rem; margin: 1rem 0 2rem; } .screenshot-box { border: 1px solid #333; border-radius: 6px; background: #0d0d0d; padding: 0.6rem; text-align: center; } .screenshot-box img { width: 100%; border-radius: 4px; } .screenshot-box span { display: block; font-size: 0.78rem; color: #666; margin-top: 0.4rem; font-style: italic; } .compare-table { width: 100%; border-collapse: collapse; font-size: 0.88rem; margin: 1rem 0 2rem; } .compare-table th { color: #00ff00; border-bottom: 1px solid #333; padding: 0.5rem 0.8rem; text-align: left; } .compare-table td { border-bottom: 1px solid #1a1a1a; padding: 0.45rem 0.8rem; color: #ccc; } .compare-table tr:hover td { background: #0d0d0d; } .yes { color: #00ff00; } .no { color: #555; } .qs { counter-reset: qs; list-style: none; padding: 0; margin: 1rem 0 2rem; } .qs li { counter-increment: qs; padding: 0.5rem 0 0.5rem 2.8rem; position: relative; border-left: 2px solid #1a1a1a; margin-bottom: 0.4rem; color: #ccc; font-size: 0.9rem; } .qs li::before { content: counter(qs); position: absolute; left: -1px; top: 0.5rem; background: #000; border: 1px solid #00ff00; color: #00ff00; width: 1.6rem; height: 1.6rem; border-radius: 3px; display: flex; align-items: center; justify-content: center; font-size: 0.78rem; font-weight: bold; } .credits-table { width: 100%; border-collapse: collapse; font-size: 0.82rem; margin: 0.8rem 0 2rem; } .credits-table td { padding: 0.4rem 0.8rem; border-bottom: 1px solid #1a1a1a; color: #aaa; } .credits-table td:first-child { color: #00ff00; white-space: nowrap; } footer.site-footer { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid #1a1a1a; color: #444; font-size: 0.78rem; text-align: center; } </style>
No agents. No per-server licensing. Single exe.
SQLTriage is a Windows desktop application — Blazor UI running inside WPF — that monitors multiple SQL Server instances in real time. It also runs as a headless Windows Service for 24/7 monitoring with remote browser access.
No software is installed on your SQL Servers. Everything runs from a single exe on your workstation or a dedicated monitoring host. .NET runtime and WebView2 are bundled — nothing to install separately.
Active sessions, blocking chains, top CPU/IO queries, wait stats — refreshing every 30 seconds. Switch servers instantly.
Interactive graphical plan with per-operator cost %, predicate detail, missing index warnings, and implicit conversion flags.
69 built-in alerts with dynamic IQR baselines that learn your server's normal behaviour. 7 channels: Email, Teams, Slack, PagerDuty, ServiceNow, Webhooks, WhatsApp.
500+ security checks against your SQL Server configuration. Exportable results with severity ratings and remediation guidance.
Quick Check (30 seconds) and Full Audit (comprehensive deep-dive). Covers configuration, security, backups, fragmentation, and missing indexes.
Maps sp_Blitz and sp_triage output to a 5-level maturity framework across multiple servers. PDF export for management reporting.
Monitor all your SQL Server instances from one place. Tag servers by environment (Production, Staging, DR) and filter across views.
Run headless for 24/7 monitoring. Access dashboards from any browser on the network via Kestrel HTTPS.
Auto-upload audit results as CSV to Azure Blob Storage. Supports SAS tokens, User Delegation SAS, and AzCopy fallback.
Force-directed topology graph showing all servers, their AG relationships, and connection health at a glance.
472 checks drawn from 9 industry sources, covering security hardening, performance best practices, HA/DR readiness, and configuration hygiene.
Sources & frameworks:
- Microsoft SQL Assessment API (220 checks) — the official Microsoft recommended ruleset for SQL Server
- Microsoft Learn (96 checks) — documented best practices from Microsoft product documentation
- Brent Ozar / sp_Blitz (~71 checks) — community-validated checks from the SQL Server First Responder Kit
- Microsoft SQL Assessment Plus (33 checks) — extended ruleset for enterprise configurations
- SQLSkills (14 checks) — checks derived from Paul Randal and Kimberly Tripp's SQL Server guidance
- CIS Benchmark for SQL Server (6 checks) — Center for Internet Security hardening rules (TRUSTWORTHY, BUILTIN\Administrators, CONTROL SERVER)
Checks are evaluated read-only against live DMVs — nothing is written to your SQL Server.
| SQLTriage | sp_Blitz | SQLWATCH | SolarWinds DPA | Redgate SQL Monitor | Idera SQL DM | |
|---|---|---|---|---|---|---|
| Cost | Free | Free | Free | $$$/server | $$$/server | $$$/server |
| Desktop UI | ✓ Blazor/WPF | SSMS only | ✓ Grafana | ✓ Web | ✓ Web | ✓ Desktop |
| Execution plan viewer | ✓ Interactive | ✗ | ✗ | ✓ | ✓ | ✓ |
| Alerting + notifications | ✓ 7 channels | ✗ | Limited | ✓ | ✓ | ✓ |
| Vulnerability assessment | ✓ 472 checks | ~250 checks | ✗ | ✗ | Limited | Limited |
| CIS Benchmark checks | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| Runs as Windows Service | ✓ | ✗ | Partial | ✓ | ✓ | ✓ |
| Agent on SQL Server | Not required | Not required | Required | Required | Required | Required |
| Azure SQL MI support | ✓ | Limited | Limited | ✓ | ✓ | ✓ |
| Maturity roadmap | ✓ 5-level | ✗ | ✗ | ✗ | ✗ | ✗ |
| Role-based access | ✓ Admin/Operator/Viewer | ✗ | ✗ | ✓ | ✓ | ✓ |
| Open source | ✓ GPL v3 | ✓ MIT | ✓ Apache 2 | ✗ | ✗ | ✗ |
sp_Blitz check count per Brent Ozar Unlimited documentation (~250 T-SQL health checks). Commercial tool feature claims based on publicly available documentation; verify current capabilities before purchase.
Current release: v0.85.2 — production-quality, actively developed. Suitable for production DBA use. Both options below are self-contained: .NET runtime and WebView2 are bundled.
Guided installer. Start menu shortcut, optional Windows Service install, upgrade detection, "Launch now" on finish. Recommended for most users.
Download from Releases →Extract to any folder (e.g. C:\Tools\SQLTriage) and run SQLTriage.exe. No installation required. Good for air-gapped or portable use.
- Download from the Releases page — Setup.exe or ZIP
- Run it — no prerequisites to install separately
- Go to Servers → Add Server, enter your SQL Server name, click Test → Save
- Open Live Monitor Ctrl+2 to see live sessions, wait stats, and top queries
- Run a Quick Check Ctrl+Q for an instant health snapshot
The built-in onboarding wizard guides you through the setup on first run. SQLWATCH is optional — it unlocks additional historical dashboards but is not required to start monitoring.
SQL Server permissions needed: VIEW SERVER STATE · VIEW DATABASE STATE — no sysadmin, no agent install on the SQL Server.
| SQLWATCH | Marcin Gminski — SQL Server monitoring framework and data foundation |
| sp_Blitz | Brent Ozar Unlimited — SQL Server First Responder Kit |
| sp_triage | Adrian Sullivan — SQL health check scripts |
| PerformanceMonitor | Erik Darling — Performance Monitor framework and diagnostic queries |
| MadeiraToolbox | Eitan Blumin — SQL Server maintenance and best-practice scripts |
| TigerToolbox | Pedro Lopes (Microsoft) — SQL Server tools and utilities |
| Ola Hallengren | SQL Server Maintenance Solution — industry-standard backup, integrity check, and index maintenance scripts |
| Glenn Berry | SQL Server Diagnostic Information queries — DMV-based diagnostic scripts used widely in the community |
| Konstantin Taranov | sqlserver-kit — curated SQL Server scripts and best practices collection |
| Wayne Sheffield | SQL Server community scripts for performance and configuration analysis |
| Tracy Boggiano | SQL Server community scripts and DBA toolkit contributions |
| Tim Ford | SQL Agent Jobs and SQL Server community diagnostic scripts |
Released under the GNU General Public License v3.0.
SQLTriage · Free SQL Server monitoring · Built by a DBA, for DBAs















