Fix 0X000009A3 NERR_NoAlternateServers on Windows Server
This error means the server can't find alternate servers for DFS replication. Almost always a stale registry key or DNS misconfig. Here's the fix.
When This Error Shows Up
You'll see error 0X000009A3 (NERR_NoAlternateServers) when a Windows Server tries to join or enumerate a DFS namespace or replication group, and the server can't find any alternate servers registered in its local cache. Common triggers:
- You demoted a domain controller or removed a DFS member without cleaning up its DFS references.
- A server was renamed or had its IP changed, leaving stale entries in the registry.
- DNS records for the alternate servers are missing or point to old IPs.
- You're building a new DFS namespace and the client/server can't resolve the root target.
This error pops up in the DFS Management console, in dfsradmin.exe output, or in the DFSR Debug logs. Don't bother checking the event log for this specific code — it's not always logged there.
What's Actually Happening
The server keeps a list of alternate servers (other domain controllers or DFS members) to contact for replication or namespace referrals. That list lives in the registry under a specific key. When a server gets removed, renamed, or its DNS record goes stale, the registry still holds the old name. The DFS service reads that key, tries to contact the stale server, can't find it, and throws 0X000009A3.
The culprit here is almost always a leftover registry entry. DNS replication delay can also cause it, but that's less common.
The Fix — Clean the Stale Registry Entries
These steps assume you're on Windows Server 2012 R2 through 2022. Works on 2008 R2 too, if you're still running that.
- Open Regedit as Administrator.
- Navigate to:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dfs\Parameters\SiteCosting\AlternateServers - In the right pane, you'll see string values. Each one is a server name (NetBIOS or FQDN) that was once an alternate server. Look for any server that no longer exists, was renamed, or has a different IP now.
- Delete only the stale entries. Don't delete the key itself — just the value names that point to invalid servers. If you're unsure, compare the list against your current AD domain controllers and DFS members.
- Close Regedit and restart the DFS service:
net stop dfs && net start dfs
Or from PowerShell:Restart-Service dfs -Force - Test the error again. If it's gone, you're done.
If That Doesn't Work — Check DNS
Sometimes the registry is clean, but DNS holds stale records. Run this from an elevated command prompt:
ipconfig /flushdns
nbtstat -R
net stop dfs && net start dfsThen check that all your domain controllers and DFS servers have valid A records. Use nslookup on each server name you saw in the registry. If you find a record pointing to an old IP, delete it from the DNS zone and force replication.
Still Failing? — Force Domain Replication
If both registry and DNS are clean, the DFS service might have stale AD data. Force replication across all domain controllers:
repadmin /syncall /AdePWait a few minutes, then restart the DFS service again. This pushes the updated alternate server list to the affected server.
One Last Check — DFSR Debug Logging
If you're still stuck, enable DFSR debug logging to see exactly which server it's trying to contact:
dfsrdiag /loglevels:4 /logbufsize:5
dfsrdiag /flushmemThen reproduce the error. Check C:\Windows\Debug\DFSRLocalDebug.log. Look for lines containing 0X000009A3 or AlternateServers. The server name it's chasing will be right there. Delete that exact name from the registry key above, restart the service, done.
Pro tip: If this happens on multiple servers in the same domain, check your DNS scavenging settings. Stale records mean someone disabled scavenging. Don't do that.
Was this solution helpful?