SQL Server DBA working on high-volume messaging infrastructure — Always On availability groups across Azure, AWS and GCP, distributed AGs spanning four regions, and the CI/CD and observability that keeps them honest.
Most of what I publish here started as something I needed at 3am.
| Project | What it does |
|---|---|
| mssql-hadr-ops | PowerShell for safe Always On failover and rolling patching — pre-flight validation, prepare/resume across reboots, AWS/GCP/Azure driver updates |
| Project | What it does |
|---|---|
| mssql-dba-mcp | Read-only MCP server giving an AI agent real diagnostics across a SQL Server fleet — error logs, memory dumps, cluster logs, Windows event log, Query Store, waits and blocking. 54 tools, dbatools-backed, and structurally incapable of writing: an allow-list refuses anything but Get-/Test-/Measure-/Find- before it reaches a shell |
| mssql-data-api | Governed read-only REST/GraphQL/MCP API over curated stored procedures, built on Data API Builder — now a two-endpoint stack: DAB for application data, plus a vendored dbatools-backed DBA MCP server for diagnostics, each with its own security posture |
| Project | What it does |
|---|---|
| mssql-dacpac-cicd | DACPAC build, Flyway migrations, policy gates, staged promotion with approvals |
| tsqlt-integration-pipeline | Every PR gets a disposable SQL Server 2022 — publish, integrity-check, tSQLt tests, coverage, and a Database Coverage Report posted back to the PR |
| nitsql | Multi-dialect SQL static analyzer: 52 rules across SQL Server, PostgreSQL, Oracle, MySQL and SQLite — and a Claude Code skill I built carrying a 71-rule advisory reference with per-dialect examples and version floors |
| schemalore | A Claude Code skill that documents SQL Server SSDT objects and gates commits on documentation coverage |
Presentations — field notes from real incidents:
- In-place upgrading an Always On cluster to Windows Server 2025
- A read-only SQL MCP, powered by dbatools
- Every pull request gets its own SQL Server
Most of these share one idea: make the dangerous thing structurally impossible rather than forbidden by policy.
A read-only MCP that cannot write. A data API whose read-only status is asserted by a CI gate, not a convention. A test pipeline where only one unambiguous check can block you. Guardrails you can't forget to follow beat guardrails you're supposed to remember.
📫 Issues and PRs welcome on any of these.
