The 30-Second Fix: Check DNS
I've seen this error more times than I can count. The first thing I do—every single time—is verify DNS. This isn't a guess. 9 times out of 10, 0x000020FA is a symptom of a DNS resolution failure between domain controllers.
On the DC that's throwing the error, open a command prompt and run:
nslookup yourdomain.localReplace yourdomain.local with your actual AD domain name. If it fails or returns the wrong IP, you've found your problem.
Then run:
nslookup <other-DC-name>Both DCs should resolve to their static IPs. If they don't, check your DNS server settings. Each DC should have its own IP in its DNS server list (for the primary NIC), and point to the other DC as secondary. If you see 127.0.0.1, that's fine as long as it's not the only entry. I had a client last month whose secondary DC had the loopback as primary and the real primary's IP as secondary—it caused exactly this error.
Fix the DNS entries, then wait 15 minutes. Replication usually picks up on its own. If you're in a hurry, skip to the next step.
The 5-Minute Fix: Force Replication
DNS is clean? Then let's kick replication in the teeth and see what happens.
Open an elevated command prompt on the problematic DC and run:
repadmin /syncall /AdePThis forces a full sync with all partners. Watch the output. You'll either see success messages or a specific error that gives you a clue.
If you get a specific partner that fails, target it directly:
repadmin /replicate <source-DC> <dest-DC> <naming-context>You'll need the naming context, like DC=yourdomain,DC=local. Still failing? Check the replication queue:
repadmin /queueIf the queue is stuck, kill it with:
repadmin /abort <source-DC> <dest-DC> <naming-context>Then re-run the sync. This clears out stale replication jobs that sometimes get wedged.
Also, check the event log. Run eventvwr, go to Windows Logs → Directory Service, and look for events 1988, 1989, or 2095. These often accompany 0x000020FA and point to the actual underlying issue—could be a bad password, a lingering object, or a USN rollback.
If you see a lingering object, you'll need to disable strict replication consistency, but I'll get to that.
The 15+ Minute Fix: Dig Into the Internals
DNS is clean, replication still fails. Time to get your hands dirty.
Step 1: Check for USN Rollback
USN rollback happens when a DC is restored from an older backup or virtual machine snapshot. This causes a mismatch in update sequence numbers, and replication throws 0x000020FA.
Run this on the DC:
dcdiag /test:replications /vLook for lines mentioning USN or rollback. If you see it, you have two options: demote this DC, or force a non-authoritative restore. The cleanest fix is to seize the FSMO roles to another DC, demote this one, and re-promote it. Yes, it's a hassle, but it's better than a corrupted AD.
Step 2: Patch the SYSVOL
SYSVOL issues can also trigger this error. Check if SYSVOL is shared:
net shareLook for NETLOGON and SYSVOL. If they're missing, the DFSR service might be broken. Run:
dfsrmig /getglobalstateIf it shows Eliminated, you're on DFSR. If it shows Started or something else, you're still on FRS. Either way, check the DFSR event log for errors. Sometimes a single file with an ACL problem blocks the whole SYSVOL replication. I've seen that twice—once it was a corrupted PDF a user saved to a policy folder.
If you find a problematic file, you can use repadmin /showbackup to find a good copy, but that's rare. Usually you need to delete the file from the source and let it replicate.
Step 3: Check for Lingering Objects
Lingering objects are deleted objects that somehow stayed on a DC. They cause replication conflicts and this exact error.
Run:
repadmin /removelingeringobjects <dest-DC> <naming-context> /advisory_modeThis shows you what it would remove without actually doing it. If it's a small list, run it without /advisory_mode to clean up.
Step 4: Check the KCC
If nothing else works, the Knowledge Consistency Checker might have created a bad connection object. Delete and rebuild the connection:
repadmin /unregkccThen run:
repadmin /kccThis forces the KCC to recalculate the topology. I usually do this as a last resort because it can cause a temporary replication storm, but it's better than a dead DC.
Why This Error Happens
0x000020FA is literally the replication engine saying "I don't know what went wrong, but something did." It's a catch-all for internal errors. That's why you have to work through the layers—start with the obvious (DNS), then the mechanical (replication queue), then the structural (USN, SYSVOL, lingering objects).
One thing I've learned: don't ignore it. I've seen admins let this sit for weeks only to end up with a completely broken AD. The fix is almost always one of the steps above. I just had a case where the problem was a DHCP client using a laptop as a DC—that's not a thing, don't do that. But seriously, check your basics first.
If you're still stuck after these steps, you might be looking at a deeper hardware or disk issue. Check the DC's event log for disk errors, and run chkdsk /f on the system drive. A failing disk can corrupt the AD database and cause this error. I had one server where the NTDS.dit was on a RAID array with a failed drive, and it threw this error for a week before the array finally died.
Quick Reference Commands
| Command | Purpose |
|---|---|
nslookup | Verify DNS resolution |
repadmin /syncall /AdeP | Force full replication |
repadmin /queue | Check replication queue |
dcdiag /test:replications /v | Test replication health |
repadmin /removelingeringobjects | Clean up lingering objects |
Run these in order, and you'll likely have this fixed before your coffee gets cold. If not, at least you'll have solid diagnostic data for your next move.