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 driver and agent updates |
| Project | What it does |
|---|---|
| mssql-dba-mcp | Read-only-by-default 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. 55 tools in the default profile, dbatools-backed: an allow-list refuses anything but Get-/Test-/Measure-/Find- before it reaches a shell, and the one opt-in write tool reaches dev hosts only, proved on the live connection. Ships a headless Slack alert monitor that triages SQL Server alerts unattended |
| mssql-data-api | Governed read-only REST/GraphQL/MCP API over curated stored procedures, built on Data API Builder — 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 |
| sql-migration-generator | A Claude Code skill that writes the Flyway V__/R__ migrations for an SSDT branch. The repeatable script is built deterministically in dependency order, and an order check catches a foreign key before its seed (error 547) or a column used before it is added. Verified by deploying to SQL Server 2022 twice |
| sql-ready | A pre-PR review flow for SQL Server repos in Claude Code: /review-before-commit scans each commit, /pr-ready reviews the branch, checks data-dependent findings against production read-only and confirms its own fixes, and /review-db keeps only what the change introduced and it could prove. A hook denies Claude Code's gh pr create until that review covers the branch; two CI workflows review the PR again, comments only |
| 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, with a pre-commit gate that blocks SQL changes until they have been documented |
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
animated-demo-deck — a Claude Code skill for animated demo talks, in four kinds (cards, console, board, dashboard), each with its own look and its own material. One source gives a click-paced HTML deck with a presenter view, play-once GIFs for Google Slides, a spoken script with target times, and a widget for a blog post.
Most of these share one idea: make the dangerous thing structurally impossible rather than forbidden by policy.
An MCP whose one write tool cannot reach production, checked on the live connection. 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.

