SQL Server Express is free. For organizations migrating from Access, “free” is an attractive word — especially when SQL Server Standard starts at over $3,000 per core. But free comes with limits. Here is what Express gives you, what it does not, and whether those limits matter for your use case.

What SQL Server Express Is

SQL Server Express is a fully functional edition of SQL Server that Microsoft distributes at no cost. It is not a trial, not a time-limited evaluation, and not crippled in its core functionality. It runs the same database engine as Standard and Enterprise editions. Your queries, stored procedures, and applications work the same way.

Microsoft offers it to get organizations into the SQL Server ecosystem. The theory is that you will start with Express and upgrade to a paid edition as you grow.

The Limits

10GB per Database

Each database file can be a maximum of 10GB. This is the most commonly cited limit and the one most likely to affect an Access migration.

To put this in perspective: the Access file size limit is 2GB. So a 10GB limit is five times what you had before. For many Access migrations, 10GB is more than enough.

But there are cases where it is not: - If your Access database stores large binary data (images, documents, scanned files) as OLE Objects or attachments, that data expands when migrated to SQL Server. - If you combine multiple Access databases into a single SQL Server database. - If your data is growing rapidly.

Note: you can have multiple databases on a single Express instance, each up to 10GB. If your data can logically be split across databases, the effective limit is higher.

1GB of RAM

SQL Server Express will use a maximum of 1GB of memory for the buffer pool (the cache where it stores frequently accessed data pages). Standard and Enterprise editions will use as much RAM as you give them.

For small databases (under a few GB), 1GB of buffer cache is often enough to keep the most frequently accessed data in memory. For larger databases, this limit means more disk reads, which means slower queries.

1 CPU Socket (4 Cores)

Express will use a maximum of one physical CPU socket and up to four cores. For the workloads typical of an Access replacement — dozens of users, not thousands — this is usually sufficient.

No SQL Server Agent

SQL Server Agent handles scheduled jobs — automated backups, maintenance tasks, scheduled report generation. Express does not include it.

This does not mean you cannot automate tasks. You can use Windows Task Scheduler to run PowerShell scripts or sqlcmd commands on a schedule. It just requires more manual setup.

No Always On Availability Groups

The high-availability features that provide automatic failover are not available in Express. If your server goes down, the database is offline until the server comes back.

For most Access replacements, this matches what you had before. When your file server went down, your Access database was also offline.

What Express Does Include

Everything else. This is not a stripped-down product:

You also get SQL Server Migration Assistant (SSMA) for free, which automates much of the Access-to-SQL-Server migration process.

Will 10GB Be Enough?

To estimate your SQL Server database size after migration:

  1. Check your current Access file size. Compact and Repair first to get the true data size without dead space.
  2. Multiply by 1.5 to 2. SQL Server’s storage format, indexes, and transaction log add overhead. A 500MB Access database typically becomes 750MB to 1GB in SQL Server.
  3. Account for growth. How fast is your data growing? If you add 200MB per year, a 2GB database today will hit 10GB in about 16 years at that rate.
  4. Consider binary data. OLE Object fields and attachments can expand significantly. If you store images or documents in the database, measure these carefully.

For most Access migration scenarios — databases under 2GB with moderate growth — 10GB is sufficient for years of operation.

When to Upgrade Beyond Express

You should plan for Standard edition (or an alternative database) when:

The Alternative: Go Open Source

If the Express limits concern you but SQL Server licensing costs are prohibitive, consider MySQL, MariaDB, or PostgreSQL. All three:

The trade-off is that the migration from Access is slightly more work because you lose the Microsoft-to-Microsoft tooling advantages (SSMA, native ODBC driver, Windows Authentication integration).

The Recommendation

For most Access migrations, start with SQL Server Express. It is free, it solves all the problems that drove you to migrate, and it requires the least change to your existing Access application (ODBC linked tables, familiar SQL dialect, Windows Authentication).

If you grow beyond Express’s limits, you have two paths: upgrade to SQL Server Standard (costs money, minimal application changes) or migrate to an open-source database (free, requires more application changes).

Starting with Express is not a commitment to SQL Server forever. Your data is in standard SQL tables that can be migrated to any other database. But it is the fastest, lowest-risk way to get off Access and onto a real database server.