0X00000885

0X00000885: Service Table Full — The Real Fix

Server & Cloud Intermediate 👁 8 views 📅 May 28, 2026

Your Windows server's service table hit its limit. I'll show you how to clear stale services and why registry limits matter.

You hit the service table limit — here's the fix that actually works

I know seeing 0X00000885 - The service table is full on your Windows Server makes you want to throw your keyboard. It's cryptic, it stops services from starting, and it usually shows up at the worst time. Let me save you the hours I spent chasing dead ends.

Step 1: Identify the overflow

First, open an elevated Command Prompt (run as Administrator). Run this to see how many services you have:

sc query | find /c /i "SERVICE_NAME"

If that count is above 2000, you're close to the ceiling. On Windows Server 2016 and 2019, the default service table holds roughly 2048 entries. Once you cross that, new services fail with this error.

Step 2: Clear out the dead weight

Most of the time, the problem is orphaned or disabled services that never got cleaned up. Run this to list every service with its state:

sc query state= all | findstr /i "SERVICE_NAME" > c:\services.txt

Open that file and look for services you know are dead — old VPN clients, trialware, or anything from uninstalled applications. To delete one, use:

sc delete "ServiceName"

Replace ServiceName with the exact name from the list. Don't guess — one typo and you're deleting the wrong thing. I learned that the hard way on a production Exchange server.

After deleting 10–15 stale services, try starting whatever service originally failed. If it works, stop here. If not, move to step 3.

Step 3: The registry limit — only do this if step 2 didn't cut it

If you genuinely need more than 2000 services (rare, but possible on RDS servers or heavily clustered setups), you can bump the limit. Open regedit and go to:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control

Create a new DWORD (32-bit) named ServicesProcessTableMaxSize. Set it to 4096 in decimal. Reboot. That doubles the table.

Caveat: I've seen this cause SCM (Service Control Manager) startup delays on servers with spinning disks. On SSDs, it's fine. Don't go higher than 8192 — you'll risk memory pressure in the kernel.

Why this happens — the ugly truth

The Service Control Manager uses a fixed-size hash table to track all registered services. Microsoft hardcoded that limit decades ago, back when 2000 services seemed insane. But modern servers accumulate services fast: every VPN client, backup agent, monitoring tool, and printer driver adds its own entries. Worse, uninstallers often leave the service registrations behind.

When the table fills, SCM returns 0X00000885. It doesn't matter if those services are stopped or disabled — they still occupy a slot. Only deletion frees the spot.

Less common variations

Sometimes the error shows up as 0x885 or ERROR_SERVICE_TABLE_FULL. I've also seen it misidentified as a memory issue in event logs — misleading, because the real root is always the same table limit.

One weird case: a client had this error on a fresh Windows Server 2022 install. Turned out a third-party antivirus had registered 400+ temporary services during a failed update. Deleting those fixed it instantly.

Another variation: sc start returns success but the service crashes immediately with 0X00000885 in its own log. That means the service itself tried to register sub-services (like a driver or dependent service) and hit the limit internally.

Prevention — stop it from coming back

Do this once a quarter on any server that sees heavy third-party software installs:

  1. Run sc query and export to CSV. Filter for STATE: 1 STOPPED.
  2. Check each stopped service. If it's from software you uninstalled months ago, delete it.
  3. Keep a running count. If you're above 1800, start cleaning early. Don't wait for the error.

Also, avoid using the registry hack if you can. Cleaning up is safer and doesn't risk boot delays. But if you absolutely need more headroom, the regkey works — just don't forget you set it, because next year you'll be troubleshooting startup slowness and won't remember why.

That's it. You've got the fix, the explanation, and the prevention. Go delete some dead services and move on with your day.

Was this solution helpful?