Updated and tested 9 October 2026
Most edition decisions get made in about ninety seconds, and the one I watch go wrong most often involves Developer edition. It is free, every Enterprise feature is switched on, and nothing in the installer stops you pointing a live customer-facing app at it. The licence terms do stop you, and they are not vague about it: development and testing only.
The other thing that goes wrong is rejecting Express over a number that has gone stale. Most of what is written about Express says the database size cap is 10 GB. True through SQL Server 2022. Not true on SQL Server 2025, where it is five times that, and the difference is big enough to change which edition a real project ends up on.
What the SQL Server editions are for
Four editions matter for a server you run yourself. Express is the free edition you're allowed to use in production, with hard resource caps. Developer is the free full-feature edition licensed for everything except production. Standard is the paid edition most companies land on. Enterprise lifts the caps and unlocks the high availability features. Microsoft's editions and components page also lists Evaluation, which most people running their own box never touch. Web edition, still on the 2022 list, is discontinued in SQL Server 2025.
MSSQL Express limits
Express is free for production use. You can ship it, redistribute it alongside an application and run a customer-facing database on it without paying anyone a licence fee. What you trade away comes down to a handful of caps, and only one of them moved in 2025.
The maximum relational database size is 10 GB on SQL Server 2022 and earlier. On SQL Server 2025 it is 50 GB. That five-fold jump rescues a whole category of small production databases that got pushed onto Standard because somebody looked at a growth chart and did the arithmetic against 10 GB.
The other caps did not move at all.
The mssql Express edition gets a 1,410 MB buffer pool per instance, and compute is limited to the lesser of one socket or four cores. Those figures are identical to Express on 2022, on 2019 and back to 2016.
The Express memory limit of 1,410 MB
Comparison tables skip this one. The 1,410 MB is the buffer pool, the memory the engine uses to cache data pages. Give an Express instance a server with 32 GB of RAM and it will still cache 1,410 MB of your data and no more. A 45 GB database on 2025 Express is entirely legal, and it will also spend its life reading from disk, because roughly three percent of it can sit in memory at any one moment.
The size cap tells you if Express is permitted. The memory cap tells you if it is going to be pleasant. I have run a 22 GB database on mssql express under that buffer pool on NVMe, and the transactional side of the application was fine for two years; the month-end report was the thing that fell over, because it scanned two large tables and nothing stayed cached between runs. Read-light applications get away with it. Anything doing large scans feels every page it has to fetch.
MSSQL Developer edition and the dev and test licence
Developer edition is Enterprise. Same engine, same feature set, same behaviour, under a licence that permits development and testing and nothing beyond that. It costs nothing, and it is what I would put on every laptop and CI runner in the building.
You download mssql Developer from the same downloads page as everything else, and it now comes in two flavours, Standard and Enterprise. That is more useful than it first sounds. If production runs Standard, installing the Standard flavour means your dev box enforces the same edition boundaries, so nobody writes a query against an Enterprise-only feature that falls over on deploy day. Before the flavours existed, that class of bug got found in production or not at all.
On Linux the edition is chosen at setup time through the MSSQL_PID variable:
sudo MSSQL_PID=Developer ACCEPT_EULA=Y MSSQL_SA_PASSWORD='<password>' /opt/mssql/bin/mssql-conf -n setup
The full sequence around it is in installing SQL Server on Ubuntu, and the line is identical for any other edition with a different PID. Nothing about the edition choice changes on Linux beyond that one variable.
Standard edition limits in SQL Server 2025
Standard on SQL Server 2025 goes to the lesser of four sockets or 32 cores, with a 256 GB buffer pool. On SQL Server 2022 those numbers were 24 cores and 128 GB. Double the memory and a third more cores in one release, which is worth checking before anyone assumes the answer is Enterprise. I suspect a fair share of Enterprise purchases from the 2022 era were made to get past a 128 GB ceiling that no longer exists.
Standard is where most self-hosted setups end up. Paid, licensed per core, with no edition ceiling you are likely to hit on a single server. On the question of Standard on your own box versus a managed cloud database at roughly the same monthly spend I do not have a strong view, and I have seen both go well and badly for reasons that had nothing to do with the edition. Where Standard and Enterprise diverge is high availability and the larger scale features, so read the feature grid on Microsoft's editions page before deciding.
Enterprise edition
Enterprise removes the edition caps on cores and memory and turns on the features Microsoft holds back for it, most of them in availability, scale and the management surface. The specific carrot has moved around over the years. When I first looked at any of this the answer people gave was online index rebuilds, and now it is usually availability groups. Buy it when you can name the feature you need, or when a single machine wants more than 32 cores of database engine. Buying it defensively, without being able to point at the specific thing you are paying for, is how organisations end up with a licence position nobody can defend at renewal.
How SQL Server licensing works for Standard and Enterprise
Both paid editions are licensed per core, commercially, and the count is based on the cores available to the instance. Cores the engine never touches still count toward the number you buy. On a VPS that means the vCPUs you have assigned, so scaling the machine up is a licensing event as well as a technical one. Express and Developer have no key to buy at all, which is precisely why the temptation to leave Developer running in production exists in the first place.
LumaDock's one-click MSSQL template stands up a running instance on a fresh server and leaves licensing exactly where this article leaves it: Express and Developer under the free terms above, Standard or Enterprise expecting a key you already hold. The same split applies to installing on Windows Server, where the operating system licence and the database licence get bought separately and neither one covers the other.
Which SQL Server edition to choose
A small production application
Express, until it hurts. A line-of-business app with a few hundred users and a database under 50 GB on SQL Server 2025 sits inside the caps comfortably. Watch the buffer pool. File size is the number everyone quotes and the one that matters least here: if the working set stays under about a gigabyte, four cores and 1,410 MB will carry it for years. When queries start dragging as a table grows, that is your signal to move.
A development or CI box
Developer, every time, matching the flavour to whatever production runs. The Docker route hands you a disposable instance per branch with no installer involved, which is usually the tidiest way to do it on a shared CI machine.
A self-hosted app that ships a SQL Server backend
Express, designed around its caps from day one. If you distribute software that installs a database alongside it, Express is redistributable and your users pay nobody. The 50 GB ceiling on 2025 buys a lot of runway for that kind of product, and a customer who outgrows it can upgrade the edition underneath your application without you shipping a line of code.
A reporting server
Standard. Reporting means large scans, and large scans are what a 1,410 MB buffer pool handles worst. This is the one case where I would skip Express for a database that fits the size cap with room to spare, because the thing you are paying for is memory.

