.NET and SQL Server both run on Linux now, so the honest first question is whether you need Windows at all. You do when you want the native stack — IIS, the full SQL Server tooling, a Windows-only dependency, or a test box that mirrors a Windows production target. For that, a Windows Server 2022 VPS gives you the real thing to develop and test against, reachable over RDP.
When Windows earns its place
- Environment parity. If production is Windows/IIS/SQL Server, a Windows dev-test box reproduces the bugs a Linux container won't. That's worth more than the price difference.
- Native tooling. IIS, SQL Server Management Studio, Windows authentication, a Windows-only NuGet dependency or COM component.
- You just prefer the Windows stack. Fair enough.
If none of that applies — a cross-platform ASP.NET Core API with PostgreSQL, say — a Linux VPS is cheaper and this isn't the page. No lock-in either way.
Which plan
- Windows-Medium — $19/mo (6 vCPU, 6 GB RAM, 60 GB NVMe). The default. SQL Server wants memory; 6 GB comfortably holds a database, IIS and your app together for dev and test.
- Windows-Small — $11/mo (4 vCPU, 4 GB RAM, 50 GB NVMe). Fine for a lean API or a small SQL Server Express database in a tight dev loop.
- A dedicated-IP plan (Small-IP $28 / Medium-IP $36) only if something outside has to reach the box on a fixed public address — a public IIS site, or a SQL endpoint other machines connect to. For a private dev box, NAT is enough.
All plans have a 150 Mbit/s port, are Windows Server 2022, and are BYOL.
Setting up
-
Deploy and connect over RDP as
Administrator; activate Windows with your key (slmgr /ipkthenslmgr /ato). -
IIS in one line, elevated PowerShell:
Install-WindowsFeature -Name Web-Server -IncludeManagementTools -
.NET — install the SDK/runtime you need (the
dotnet-installscript or the installer from Microsoft). -
SQL Server Express — free, download from Microsoft, install, then manage it with SQL Server Management Studio. For a bigger edition, bring your licence.
If you expose the database
Do it on purpose, not by accident:
- Dedicated IP + firewall. Expose the SQL port only on a dedicated-IP plan, and allowlist the specific source IPs that need it in Windows Firewall.
- Never wide open. SQL Server on the public internet with a weak
sapassword is found and brute-forced fast. Strong credentials, restricted source IPs, no default-port exposure to the world. - Private dev box? Simplest and safest: keep SQL bound to localhost and reach it through your RDP session. Nothing to expose at all.
The RDP guide covers hardening the login itself, and the noVNC console is your rescue path if a firewall change locks you out.
Licensing, honestly
Two separate licences here, both BYOL: Windows (activate with your key — see BYOL licensing) and, if you go beyond SQL Server Express, the SQL Server edition. Express is genuinely free and enough for a lot of development; step up only when you need to, and license it properly when you do.
Comments
No comments yet. Be the first.