Capacity planning

How Many Users Can Access an MS Access Database in the Cloud?

User capacity limits and scaling paths for cloud-hosted Access systems.

User limitsConcurrencyScaling

One of the most common questions we hear from teams moving Access to the cloud is: how many users can it actually support? The answer depends entirely on your architecture , file-based back-end vs SQL vs web app , not on whether the server is local or in the cloud. This guide breaks down concurrency limits for each model, explains why cloud hosting alone does not solve multi-user problems, and helps you plan capacity before performance failures force an emergency migration.

User capacity fundamentals

Microsoft Access was designed as a desktop database for small workgroups. The Jet/ACE engine that powers .accdb files uses file-level and record-level locking optimized for 5–10 simultaneous users on a fast local network. Moving that same file to a cloud server does not change the engine , it only changes where the file lives.

This distinction matters because many teams expect cloud hosting to magically solve the multi-user problems they experienced on a network share. Cloud hosting solves remote access, backup, and infrastructure reliability. It does not rewrite the ACE engine's concurrency model. To support more users, you must change the architecture , not just the hosting location.

Three variables determine your practical user capacity: back-end type (file vs SQL vs web API), write intensity (read-heavy browsing vs constant data entry), and application design (indexed queries and split database vs unindexed tables loaded entirely into memory). The sections below quantify capacity for each architecture.

File-based back-end limits

When your Access back-end is an .accdb file , whether on a local server, network share, or cloud VM disk , the Jet/ACE engine manages all locking at the file level. This is the most common configuration for legacy Access systems and the most limited for multi-user cloud deployment.

Practical concurrency limits

  • 1–5 concurrent writers: Reliable for most workflows with a properly split database and indexed tables
  • 5–10 concurrent writers: Workable for read-heavy applications with occasional data entry. Lock conflicts begin appearing on popular forms
  • 10–15 concurrent writers: Upper practical limit. Frequent lock conflict errors, increased corruption risk, and noticeable form save delays
  • 15+ concurrent writers: Not recommended. Daily operational failures, data integrity risk, and user frustration

The ACE engine locks pages (4 KB blocks) within the .accdb file during write operations. When two users attempt to write to records on the same page simultaneously, one must wait , or receive a lock conflict error after a timeout. On a cloud-hosted VM, network latency between the Access front-end and the back-end file adds delay to every lock acquisition, effectively reducing capacity compared to a local network.

Multi-user capacity by Access architecture
ArchitectureConcurrent users (write-heavy)Concurrent users (read-heavy)Database size limit
File BE on network share3–88–122 GB
File BE on cloud VM (local disk)5–1010–152 GB
SQL BE + Access front-end (hosted)15–3030–50SQL engine limit
SQL BE + Access front-end (local + VPN)10–2020–35SQL engine limit
Web app + SQL back-end50–200+200–500+SQL engine limit

Hosted desktop capacity

Hosted desktop , running Access on a cloud Windows server accessed via Remote Desktop , is the most popular cloud deployment model. Its user capacity depends on two factors: how many simultaneous RDP sessions the VM supports, and how many concurrent database writers the back-end architecture allows.

Session capacity (VM sizing)

  • t3.large (2 vCPU, 8 GB RAM): 5–8 concurrent RDP sessions for light Access use
  • t3.xlarge (4 vCPU, 16 GB RAM): 10–15 concurrent sessions
  • m5.2xlarge (8 vCPU, 32 GB RAM): 20–25 concurrent sessions (with SQL back-end)

Session capacity is rarely the bottleneck. Database locking is. A t3.xlarge can host 15 RDP sessions, but if all 15 users write to a file-based back-end simultaneously, lock conflicts will make the system unusable before CPU or memory max out.

Best practices for hosted desktop multi-user stability

  • Keep the back-end on the VM's local EBS volume, not a mapped network drive
  • Distribute individual front-end copies launched from a central deployment folder
  • Index all fields used in WHERE clauses, JOIN conditions, and ORDER BY sorts
  • Avoid forms that load entire tables , use filtered queries with criteria
  • Close recordsets explicitly in VBA code to release locks promptly

For managed hosting that handles VM sizing and front-end deployment, see host MS Access online.

Hitting user limits on your cloud-hosted Access database?

Request a capacity assessment

SQL back-end scaling

Moving your Access back-end from an .accdb file to SQL Server, Azure SQL, or PostgreSQL is the single highest-impact change for multi-user capacity. SQL engines handle row-level locking, connection pooling, and concurrent transactions natively , capabilities the ACE file engine was never designed to provide.

After SQL upsizing, 15–30 concurrent writers is typical for well-designed Access front-ends linked to SQL Server. With query optimization and pass-through queries, 30–50 concurrent users is achievable. Beyond 50 users, the Access front-end becomes the bottleneck , forms load slowly over ODBC, VBA operations block the UI, and deployment management grows complex. Web app conversion is recommended at that scale.

Review Access database online options for SQL upsizing as part of a cloud hosting engagement.

Web app concurrency

A web application backed by SQL Server or PostgreSQL removes the Access front-end from the concurrency equation entirely. Users interact through a browser; the server handles all data access through connection-pooled API calls with proper transaction management.

Web apps scale further because there is no file locking, connection pooling reuses database connections efficiently, each request is stateless, and you can add web server instances behind a load balancer as user count grows. Typical deployments support 50–200 concurrent users on a modest setup, and 500+ with appropriate scaling.

Learn about the conversion process on our MS Access to web app page. Compare investment levels at modernization pricing.

Planning for your user count

Use this planning matrix to choose the right architecture based on your current and projected user counts:

Today: 1–10 users

Cloud desktop with file-based back-end is viable if the database is split, indexed, and under 1 GB. Monitor lock conflict frequency monthly. Plan SQL upsizing when you approach 8 concurrent writers or 1.5 GB file size.

Today: 10–20 users

Cloud desktop with SQL back-end is the minimum recommended architecture. File-based back-ends at this scale generate daily operational friction. Budget for SQL migration as part of your hosting project, not as a future phase.

Today: 20–50 users

SQL back-end with hosted Access front-end works as a bridge, but begin web app conversion planning immediately. Target web app go-live within 12–18 months.

Today: 50+ users (or projected within 24 months)

Start web app conversion now. Hosted Access at this scale costs more in per-user RDP fees, support overhead, and operational risk than a phased web migration.

Capacity testing protocol

  1. Document current user count and peak concurrent usage (not just licensed seats)
  2. Identify the 3 forms with the heaviest write traffic
  3. Simulate peak load with testers performing simultaneous operations
  4. Log lock errors, save failures, and form response times
  5. Set a trigger threshold: if lock errors exceed 5 per day, escalate to the next architecture tier

For remote access context that affects perceived performance at scale, see Access remote access options.

Not sure how many users your Access architecture can support?

Book a free capacity planning session

Frequently asked questions

How many users can use an Access database at the same time?

With a file-based back-end on a network share or hosted desktop, plan for 5–10 concurrent users for write-heavy workflows and up to 15 for read-heavy use. With a SQL Server or PostgreSQL back-end, 20–50 concurrent users is realistic. A web app supports 50–500+ depending on architecture.

Does cloud hosting increase the number of Access users?

Cloud hosting improves reliability and remote access but does not change the Jet/ACE engine's concurrency limits on file-based back-ends. Moving to the cloud helps only when you also move the back-end to SQL or convert to a web app.

What causes Access to slow down with multiple users?

File-level locking, network latency to the back-end file, unindexed fields in frequently queried tables, forms that load entire tables instead of filtered subsets, and VBA code that holds locks open during long operations.

When should I move from hosted Access to a web app for user capacity?

When you consistently exceed 15 concurrent writers on a file back-end, when lock conflict errors appear daily, or when onboarding new users requires more than adding an RDP account. These are signals the architecture , not the hosting , is the bottleneck.

Can I split users across multiple Access back-end files?

Technically yes, but it fragments data, complicates reporting, and creates referential integrity problems. Upsizing to a single SQL back-end or converting to a web app is almost always the better path when user count outgrows a single file.

How do I test my Access database's user capacity?

Simulate peak load: have 2–3 testers perform write-heavy operations simultaneously while others run reports and browse records. Monitor for lock errors, save failures, and response times above 3 seconds on common forms. Repeat at each increment until failures appear.