SQL Server Pricing: Managed vs Self-Hosted
The cheapest managed SQL Server starts at about $15/month. Self-hosted, this stack measures 2 GiB across 1 service, which fits a $13/month flat plan with room left over.
#the numbers
Managed prices as of June 2026, each linked to its source. The self-hosted row is not an estimate: the RAM figure is what this stack allocates in its compose file, and the plan is the smallest one that holds it.
| Option | Plan | Monthly | What you get |
|---|---|---|---|
| Self-hosted on Miget ★ | 2 GiB, 1 vCPU | $13 | the whole stack, flat - no per-user or per-request metering, and the plan holds your other apps too |
| Azure SQL Database | Standard S0 | ~$15 | 10 DTU, 250 GB - the production-recommended floor (Basic at $4.90 exists: 5 DTU / 2 GB, genuinely tiny) |
| AWS RDS for SQL Server | Express, db.t3.small | ~$34 | 2 vCPU / 2 GiB + 20 GiB storage, Single-AZ |
Honest math: tiny Azure tiers undercut self-hosting on sticker price. The case here is locality (same project network as your apps), no per-database billing, and a plan that also runs the apps.
#the difference, plainly
$2/month, or about 13%, against the cheapest managed tier - $24 over a year. Worth stating what that money buys and what it costs, because the honest answer is not "it is just cheaper".
- You gain a bill that does not move with usage, no execution or seat metering, and root on your own data.
- You gain spare capacity: the plan is sized for this stack, and anything else you deploy inside it is free.
- You take on upgrades, backups and the pager. Managed services charge for exactly that, and for some teams it is worth every dollar.
- You should not switch for the saving alone if your team has nobody who wants to own it.
#what it costs on other platforms
Same stack, published rates elsewhere - estimates from each platform's own pricing page, not quotes.
| Platform | Estimated monthly | Why |
|---|---|---|
| Miget ★ | $13 | flat plan, 2 GiB - databases included, no meters |
| Heroku | ~$100 | no volumes; nothing between 1 GB ($50) and 2.5 GB ($250) dynos - 2 GB containers cost far more than shown |
| DO App Platform | ~$29 | no persistent volumes - stateful containers need managed DBs/Spaces (base $5 Spaces included here) |
| Render | ~$28 | per-service instances (0.5 GB $7, 2 GB $25) - every container is its own paid service |
| Railway | ~$22 | usage-based ($10/GB RAM-mo); vCPU billed separately at $20/vCPU-mo on top |
| Fly.io | ~$13 | cheapest sticker price - but burstable shared CPUs (1/16 core; dedicated vCPUs cost ~2-3×), no compose deploys (one app per container, manual wiring), managed DBs billed extra |
#sizing, if you outgrow the small plan
The $13 plan is the smallest that fits. For production traffic you generally want the next tier up, and dedicated vCPU if the workload is CPU-bound rather than idle-waiting.
| Use case | Plan | Monthly |
|---|---|---|
| Fits the stack | 2 GiB, 1 vCPU shared | $13 |
| Comfortable, room for your own apps | 2 GiB, 2 vCPU shared | $19 |
| Dedicated vCPU (production) | 2 GiB, 1 vCPU dedicated | $22 |
Express caps its buffer pool at ~1.4 GB, so 2 GiB is the natural fit - the edition cannot use more. BYOL Standard wants the next plans up. Note: amd64 only; SQL Server has no arm64 story at all.
Run SQL Server yourself
The compose file is open source and runs locally with docker compose up. One step to deploy it to
Miget on the $13/month plan, databases included.