SQL Server Migration

When to Upsize: Access vs SQL Server Backend

Signs your Access database has outgrown its limits — and how to move the backend to SQL Server without rewriting your front end.

T
The Access Team
5 min read
When to Upsize: Access vs SQL Server Backend

Microsoft Access is a remarkable tool. For small teams, departmental databases, and applications with a few thousand records, it is fast to build, easy to maintain, and requires no server infrastructure. But every Access database eventually hits a ceiling.

The question is not whether to upsize — it is when, and how to do it without disrupting the people who depend on your application every day.

The Signs You Have Outgrown Access

Performance Degradation

The most obvious sign is slowness. If queries that used to run in under a second now take five or ten, and you have already optimized your indexes and query design, the problem is likely the file-based architecture of Access itself.

Access stores everything in a single .accdb file. Every read and write goes through the Windows file system, which is not designed for concurrent database access. As your data grows and your user count increases, this becomes a bottleneck.

Rule of thumb: If your database file exceeds 500MB, or if you have more than 10 concurrent users, start planning the migration.

Frequent Corruption

Access databases can become corrupted, especially in shared network environments. If you are running Compact and Repair more than once a month, or if users are regularly seeing "unrecognized database format" errors, your database is under stress.

SQL Server stores data on a proper database server with transaction logging, write-ahead logging, and automatic recovery. Corruption is extremely rare.

Growing User Count

Access is officially supported for up to 255 simultaneous users, but in practice, performance degrades significantly above 10-15 concurrent users on a shared file. SQL Server handles hundreds or thousands of concurrent connections without breaking a sweat.

Compliance and Security Requirements

If your organization needs row-level security, detailed audit logging, encrypted connections, or compliance with standards like HIPAA or SOC 2, Access cannot meet those requirements. SQL Server has all of these built in.

Data Volume

Access has a 2GB file size limit. More practically, query performance starts to suffer well before you hit that limit. If your database is growing at a rate that will push it past 1GB within the next year, plan the migration now.

The Good News: You Can Keep Your Access Front End

Here is what many Access users do not realize: you do not have to abandon your Access forms, reports, and VBA code when you move to SQL Server. The Access + SQL Server combination — sometimes called an "Access Data Project" or simply "linked tables" — gives you the best of both worlds:

  • SQL Server backend: enterprise-grade storage, performance, security, and reliability
  • Access frontend: familiar interface, existing forms and reports, no retraining required

Your users keep working in Access. They never know the data is now stored on SQL Server.

How the Migration Works

Step 1: Use the Upsizing Wizard

Access includes a built-in Upsizing Wizard that handles most of the migration automatically:

  1. Open your Access database
  2. Go to Database Tools → SQL Server
  3. Follow the wizard to connect to your SQL Server instance
  4. Select which tables to migrate
  5. Choose whether to link the tables or create a new Access Data Project

The wizard migrates your table structures, data, indexes, and relationships. It also creates linked tables in your Access database that point to the SQL Server tables.

Step 2: Review and Fix Data Types

SQL Server has different data types than Access. The wizard handles most conversions automatically, but you should review:

  • AutoNumber → INT IDENTITY: Works fine, but check that your relationships still work
  • Yes/No → BIT: Usually fine, but some queries may need adjustment
  • Memo → NVARCHAR(MAX): Works, but very long text fields may need attention
  • OLE Object → VARBINARY(MAX): Works, but consider moving files to the filesystem instead

Step 3: Update Your Queries

Most Access queries run unchanged against linked SQL Server tables. However, some Access-specific syntax does not translate:

  • Date literals: Access uses #1/1/2026#; SQL Server uses '2026-01-01'. With linked tables, Access handles this translation automatically.
  • Access functions: Functions like Format(), IIf(), and Nz() are Access functions — they work in Access queries against linked tables, but not in SQL Server stored procedures.
  • Wildcard characters: Access uses * for wildcards in LIKE clauses; SQL Server uses %. With linked tables, Access translates this automatically.

Step 4: Test Thoroughly

Before going live, test every form, report, and query against the SQL Server backend. Pay particular attention to:

  • Forms with subforms (these can be slow if not properly indexed)
  • Reports that aggregate large amounts of data
  • Any code that uses CurrentDb.Execute with SQL strings
  • Append and update queries

Step 5: Move the Backend to the Server

Once testing is complete, move the SQL Server database to your production server and update the linked table connections in Access:

  1. In Access, go to External Data → Linked Table Manager
  2. Select all linked tables
  3. Click Relink and point to the new server

What to Expect After Migration

Most users report a significant performance improvement after migrating to SQL Server, especially for:

  • Multi-user environments (no more file locking conflicts)
  • Large queries (SQL Server's query optimizer is far more sophisticated than Access's)
  • Concurrent writes (SQL Server handles them gracefully; Access does not)

You will also gain access to SQL Server Management Studio, where you can monitor query performance, view execution plans, and manage backups — capabilities that simply do not exist in Access.

Is It Time to Go Further?

Moving to a SQL Server backend is often the right first step. But if your requirements are growing toward web access, mobile users, or integration with other systems, you may eventually want to consider a full migration to Power Platform or a custom web application.

That is a bigger project — but the SQL Server migration you do today will make it significantly easier, because your data will already be in a proper relational database with clean schemas and good indexes.

Explore Topics

#SQL Server#migration#upsizing#performance#scalability
T

Written by

The Access Team

Content creator and writer sharing insights and stories.