- Standard edition caps Always On at two replicas using basic availability groups, without readable secondaries
- Transparent Data Encryption (TDE) is an Enterprise-only feature, not available on Standard
- Standard edition has a hard memory cap for the buffer pool that is far below what Enterprise can address
- Developer edition has every Enterprise feature but its license forbids production use
The Four Main Editions
SQL Server ships in several editions that share the same core engine but differ in features, resource limits, and price. Picking the right one starts with understanding what each is actually built for.
Express is free and meant for small applications, learning, and lightweight embedded use. It caps database size at 10 GB per database, limits memory usage to a small fraction of what paid editions allow, and restricts CPU usage to a small number of cores. It has no SQL Server Agent for scheduled jobs (you have to work around this with Windows Task Scheduler or the sqlcmd utility), and it lacks most high-availability and analysis features entirely.
Standard is the entry-level paid edition and covers the needs of most small-to-midsize production workloads: core relational database features, basic reporting and integration services, and a usable (but limited) high-availability story. It has meaningfully higher memory and core limits than Express but is capped well below Enterprise.
Enterprise is the full-featured, top-tier edition. It removes most of the resource ceilings present in Standard (subject to what the host OS and hardware support) and adds advanced high-availability, security, and performance features not available anywhere else in the product line. It is also priced significantly higher, almost always licensed per-core.
Developer edition is functionally identical to Enterprise — every advanced feature is present — but its license terms restrict it to non-production use: development, testing, demos, and proof-of-concept work. It is free to download and use under those terms, which makes it the standard choice for developer workstations and CI/test environments where you want production-representative behavior without paying for Enterprise.
The Two Licensing Models
Microsoft licenses SQL Server (Standard and Enterprise) under two models, and choosing the wrong one is one of the most common budgeting mistakes organizations make.
Per-core licensing charges based on the number of physical cores on the server (or virtual cores allocated to a VM), sold in 2-core packs, with a minimum of 4 cores per physical processor. There is no limit on the number of users or devices that can connect. This model is required for internet-facing or extranet-facing applications where you cannot enumerate or license individual users, and it also tends to be more economical whenever the number of users or devices is large or hard to predict — a public web application with thousands of anonymous visitors is a clear per-core case.
Server+CAL (Client Access License) licensing charges a base license for the server itself plus a separate CAL for every user or device that accesses it, directly or indirectly. This model is only available for Standard edition, not Enterprise. It tends to be cheaper when you have a small, well-defined set of internal users — for example, a 15-person back-office application — since you're paying for a modest server license plus a handful of CALs rather than licensing every core on the box. As user counts grow, the CAL costs eventually cross over and per-core becomes cheaper; the crossover point depends on current pricing and core count, so it's worth modeling both ways for any deployment expected to grow.
A practical way to decide: count your distinct users/devices, get current per-core and CAL pricing from a licensing reseller or the Microsoft pricing pages, and calculate both totals. For anything public-facing or with fluctuating/unknown access, skip the comparison and go per-core, since Server+CAL isn't even a compliant option there.
What You Lose Staying on Standard
The gap between Standard and Enterprise is not cosmetic — several features that matter for production reliability and compliance are Enterprise-only or heavily restricted on Standard.
High availability. Standard supports Always On through basic availability groups, which allow only one database per availability group and only two replicas (one primary, one secondary), with no readable secondary — the secondary exists purely for failover, you cannot offload read traffic to it. Enterprise's full Always On availability groups support multiple databases per group, up to the platform's maximum replica count, and readable secondaries that can serve reporting or read-scale workloads.
Encryption. Transparent Data Encryption (TDE), which encrypts data at rest without requiring application changes, is Enterprise-only. If a compliance requirement mandates at-rest encryption of the database files themselves (not just column-level encryption, which is available more broadly), Standard cannot satisfy it natively.
Partitioning. Table and index partitioning — splitting a large table across multiple filegroups for manageability and query performance — is an Enterprise-only feature. On Standard, very large tables must be managed as single units, which affects maintenance windows (index rebuilds, statistics updates) and can limit query performance on tables with hundreds of millions of rows or more.
Resource ceilings. Standard's memory limit for the buffer pool is fixed at a level far below what Enterprise can use, and its supported CPU core count is also capped. On hardware that exceeds these limits, Standard simply cannot use the extra memory or cores for the database engine, even though the OS sees them.
Advanced performance and security features. Enterprise also includes capabilities like online index rebuilds without blocking concurrent queries, advanced query processing features, and more granular auditing — all absent or reduced on Standard.
Choosing an Edition in Practice
Start by ruling out what you clearly don't need. If the workload is a small internal tool, a proof of concept, or something that fits comfortably under 10 GB with light concurrent use, Express is free and sufficient — don't pay for anything more.
For real production workloads, the deciding question is usually: do you need true high availability with readable secondaries, at-rest encryption of the database files, table partitioning, or do you expect to need more memory/cores than Standard allows? If the honest answer is no across the board, Standard is the right choice and costs substantially less. Many small and midsize production systems run happily on Standard for years.
Move to Enterprise when any one of those Enterprise-only features is a hard requirement — for example, a regulatory mandate for encryption at rest, an SLA that requires a readable secondary for reporting offload, or a table that has genuinely outgrown what Standard's partitioning-free management allows. Because Enterprise is licensed per-core and priced well above Standard, it's worth confirming the requirement is real (not just "might be nice") before committing.
Regardless of which production edition you choose, install Developer edition on every developer machine and in test/staging environments. It costs nothing, matches Enterprise feature-for-feature, and means your test environment won't silently behave differently from production because of a missing feature — the only rule is that no production data or production traffic touches it.
Common Mistakes to Avoid
A few licensing and edition mistakes come up repeatedly with new SQL Server deployments.
Provisioning Enterprise "just in case" is the most expensive one. Teams often default to Enterprise assuming they'll need Always On or partitioning eventually, then run for years using none of the Enterprise-specific features while paying the per-core premium the whole time. It's usually cheaper to start on Standard and upgrade the edition later if a genuine need appears — edition upgrades are supported in place without a reinstall.
Another common error is licensing a VM's virtual cores without accounting for the per-processor minimum, or forgetting that per-core licensing in a virtualized environment has its own rules about host-level versus VM-level licensing, especially when VMs move between hosts in a cluster. Get current guidance from Microsoft's licensing documentation or a licensing reseller before finalizing a virtualized deployment, since the rules here change over time and missteps are a common source of compliance gaps during audits.
Finally, teams sometimes install Standard, run into an Enterprise-only limitation mid-project (most often the two-replica Always On ceiling or the lack of TDE), and have to do an unplanned edition upgrade under time pressure. Reviewing the "what you lose on Standard" list above during initial planning, against known compliance and availability requirements, avoids that scramble.
Key Takeaways
- Express is free but capped on database size, memory, and CPU cores, making it suitable only for small or embedded workloads
- Standard covers most core production needs but lacks high-availability depth, encryption, and advanced performance features found in Enterprise
- Enterprise unlocks Always On with readable secondaries, table/index partitioning, TDE, and higher resource ceilings, at a much higher licensing cost
- Per-core licensing tends to favor high-user or unpredictable-access scenarios, while Server+CAL favors small, known user counts
- Use Developer edition for all non-production work so you can test Enterprise features without paying for an Enterprise license