Fix it now
Error 8453 is published as “Replication access was denied”. Microsoft’s own troubleshooting for it has two main branches, and only one of them is about permissions: the other is an invalid UserAccountControl on the domain controller’s computer account. Run the health checks before you touch an access control list.
dcdiag /test:CheckSecurityError
dcdiag /test:NCSecDesc
dcdiag /test:MachineAccount
whoami /all
- Read the MachineAccount result first. If it reports a missing SERVER_TRUST_ACCOUNT or TRUSTED_FOR_DELEGATION flag, the DC’s own computer account is wrong and no permission change will help.
- For a writeable DC the documented UserAccountControl value is 532480 decimal, 0x82000 hex; for an RODC it is 83890176 decimal, 0x5001000 hex. The two flags are SERVER_TRUST_ACCOUNT (0x2000) and TRUSTED_FOR_DELEGATION (0x80000).
- Set delegation the supported way where you can: in Active Directory Users and Computers, open the DC’s computer account, Delegation tab, and select “Trust this computer for delegation to any service (Kerberos only)”.
- If NCSecDesc reports missing permissions on the naming context head, inspect them with
dsacls <naming context DN>, ordsacls \\<dc>\<naming context DN>for a remote one. - If you are running replication as a person rather than as the DC, check your own groups with
whoami /all, and compare an elevated prompt against a non-elevated one.
Compare the failing partition’s permissions against one that replicates normally before adding anything. You are looking for a difference, not for a list you half remember.
If replication runs, stop here. If it does not, the next section covers what is being denied and by which of the two mechanisms.
Why it happens
Directory replication is an authenticated remote procedure call. The destination binds to the source, proves who it is, and asks for the changes it has not seen. Error 8453 is published as “Replication access was denied”, and Microsoft’s troubleshooting for it lists causes on both sides of that sentence: what the destination is allowed to ask for, and whether the destination is recognised as a domain controller at all.
The half most articles skip is the second one. A domain controller’s own computer account carries flags in its UserAccountControl attribute, and if SERVER_TRUST_ACCOUNT or TRUSTED_FOR_DELEGATION is missing, the machine is not being treated as a domain controller. Microsoft publishes the expected values: 532480 decimal, 0x82000 hex, for a writeable DC, and 83890176 decimal, 0x5001000 hex, for a read-only one. The dcdiag test that reports it is MachineAccount, and it takes seconds to run.
The permission half is a set of control access rights held on the head of each naming context. Microsoft names five that must be present: Manage Replication Topology, Replicating Directory Changes, Replication Synchronization, Replicating Directory Changes All, and Replicating Changes in Filter Set. The groups that must hold them are Enterprise Domain Controllers, the domain’s own Domain Controllers group, and, where read-only DCs exist anywhere in the forest, Enterprise Read-Only Domain Controllers. An article that names only Enterprise Domain Controllers and only two of the rights will get you close and leave you failing.
The DC’s computer account has lost its flags
You have this one if dcdiag /test:MachineAccount reports a missing SERVER_TRUST_ACCOUNT or TRUSTED_FOR_DELEGATION flag.
- Read the current UserAccountControl on the DC’s computer account and compare it with the documented value: 532480 (0x82000) for a writeable DC, 83890176 (0x5001000) for an RODC.
- Set delegation from Active Directory Users and Computers where you can: open the computer account, Delegation tab, “Trust this computer for delegation to any service (Kerberos only)”.
- If you have to edit the attribute directly in ADSI Edit, convert to hex, add the missing flag, convert back, and write the decimal value.
- Re-run
dcdiag /test:MachineAccountand then force replication.
This is the cause that makes people spend an afternoon on access control lists that were correct all along. Rule it out in the first two minutes.
The replication rights are missing from the naming context
You have this one if dcdiag /test:NCSecDesc reports missing permissions on the NC head, and every DC reports 8453 for the same partition.
- Inspect the current list:
dsacls <naming context DN>, ordsacls \\<dc>\<naming context DN>against a specific DC. - Compare it against a partition that replicates normally, so you are restoring a difference rather than guessing at a template.
- Add the missing entries through ADSI Edit: connect to the partition, open the properties of the NC head, Security tab, Add the group, and allow the right that is missing.
- The five rights are Manage Replication Topology, Replicating Directory Changes, Replication Synchronization, Replicating Directory Changes All, and Replicating Changes in Filter Set.
- Re-run
dcdiag /test:CheckSecurityError, then force replication.
Find out what changed the access control list before you move on. A delegation script or a security baseline that resets partition permissions will simply do it again next week.
A read-only DC has no rights on the naming context
You have this one if Writeable DCs replicate normally and only RODCs report 8453, or an RODC in a child domain fails against the forest root.
- Grant Replicating Directory Changes to Enterprise Read-Only Domain Controllers on each naming context root that needs it, through ADSI Edit’s Security tab.
- When you add the group, clear the boxes that get selected automatically – Read, Read domain password & lockout policies, Read Other domain parameters – and allow only Replicating Directory Changes.
- For an RODC in a child domain, the group to add in the forest root domain is that child domain’s Enterprise Read-Only Domain Controllers.
- Confirm
adprep /rodcprephas been run.
Microsoft names this as the top solution for the RODC case, and it is invisible if you only ever look at writeable DCs.
The server object has no serverReference attribute
You have this one if Error 8589 appears alongside 8453, often after a controller was force-removed and re-promoted, or renamed.
- Read the published meaning literally: the directory cannot derive a service principal name to mutually authenticate the target because the corresponding server object in the local database has no serverReference attribute.
- Open Sites and Services, find the server object for the target DC, and check that serverReference points at its computer object.
- If it is empty or stale, repair the object rather than registering SPNs.
- Re-run
dcdiag /test:CheckSecurityErrorand force replication.
This is the code most often mis-fixed with setspn. The SPN is derived from the object; if the object is wrong, registering names by hand changes nothing.
Full reference
The dcdiag tests Microsoft names for this error
| Test | What it reports |
|---|---|
dcdiag /test:CheckSecurityError |
The general health check for 8453. Run it on both destination and source |
dcdiag /test:NCSecDesc |
Missing permissions on the naming context head |
dcdiag /test:MachineAccount |
A missing SERVER_TRUST_ACCOUNT or TRUSTED_FOR_DELEGATION flag on the DC’s computer account |
dcdiag /test:Replications |
Reports the failing replication attempts with their status |
The five rights, and who has to hold them
| Right | Required on each NC head |
|---|---|
| Manage Replication Topology | Yes |
| Replicating Directory Changes | Yes |
| Replication Synchronization | Yes |
| Replicating Directory Changes All | Yes |
| Replicating Changes in Filter Set | Yes |
| Principal | When it must hold them |
|---|---|
| Enterprise Domain Controllers | Always |
DOMAIN\Domain Controllers |
Always |
| Enterprise Read-Only Domain Controllers | Where RODCs exist, on each NC root |
| A child domain’s Enterprise Read-Only Domain Controllers | In the forest root domain, for RODCs in that child domain |
Grant to these groups, not to individual controllers. Group membership is maintained automatically as controllers are promoted and demoted; individual entries rot the first time the topology changes and leave a trap for whoever is on call.
The UserAccountControl values, written out
| Role | Decimal | Hex | Flags that must be set |
|---|---|---|---|
| Writeable domain controller | 532480 | 0x82000 | SERVER_TRUST_ACCOUNT 0x2000 and TRUSTED_FOR_DELEGATION 0x80000 |
| Read-only domain controller | 83890176 | 0x5001000 | As reported by dcdiag /test:MachineAccount |
If you have to correct this by hand, Microsoft’s documented method is to read the current decimal value in ADSI Edit, convert it to hex in Calculator’s programmer mode, add the missing flag, convert back, and write the decimal result. The supported alternative for the delegation flag alone is the Delegation tab in Active Directory Users and Computers, which is less error-prone and worth preferring.
The neighbouring codes, and what each one takes you to
| Code | Published meaning | Where it sends you |
|---|---|---|
8453 |
Replication access was denied | This article: permissions, or the DC’s own account flags |
5 |
Access is denied | Microsoft lists different root causes for a bare 5 than for 8453, including user rights. Do not treat it as 8453 in disguise |
8589 |
The DS cannot derive an SPN to mutually authenticate the target because the server object has no serverReference attribute | The server object in Sites and Services, not setspn |
8452 |
The naming context is being removed, or is not replicated from the specified server | Topology, not security |
Two more events worth recognising
- Event ID 1699: this directory service failed to retrieve the changes requested for the following directory partition. It names the partner and the partition, which saves you reading a whole replication summary.
- Event ID 2896: a client made a DirSync LDAP request for a directory partition and access was denied. Microsoft lists it among the symptoms of 8453, and it points at an application doing directory synchronisation rather than at DC-to-DC replication.
- Microsoft also lists Event IDs 1655, 1265 and 1925 among the symptoms, so a DC reporting several of these at once is telling one story rather than several.
Where this article deliberately does not go
Two remedies circulate for 8453 that are not in Microsoft’s cause or resolution list for it: resetting the DC’s own computer account password with the Key Distribution Center service stopped, and chasing user rights assignments in a hardening baseline. The first is a real procedure for a different problem and it is disruptive; the second belongs to error 5. If the checks above all pass and you are still getting 8453, that is the point to collect the dcdiag output and open a case, rather than to start resetting machine account passwords on live controllers.
Every code this article covers
| Code | What it points at | Source |
|---|---|---|
8453 |
ERROR_DS_DRA_ACCESS_DENIED: replication access was denied | Microsoft Learn |
5 |
Access is denied. The underlying Windows status; Microsoft attributes a bare 5 to different root causes than 8453, so diagnose it separately | Microsoft Learn |
8589 |
ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF: the directory cannot derive a service principal name to mutually authenticate the target because the corresponding server object has no serverReference attribute | Microsoft Learn |
8452 |
ERROR_DS_DRA_NO_REPLICA: the naming context is being removed, or is not replicated from the specified server | Microsoft Learn |
Event ID 1699 |
This directory service failed to retrieve the changes requested for the following directory partition, naming the partner and the partition | Microsoft Learn |
Confirm the fix worked
dcdiag /test:CheckSecurityErrorpasses on both the destination and the source.dcdiag /test:MachineAccountreports no missing SERVER_TRUST_ACCOUNT or TRUSTED_FOR_DELEGATION flag.dcdiag /test:NCSecDescreports no missing permissions on any naming context head.repadmin /replsummaryshows no partner with a failure or a stale last-success time.- Create a test object on one controller and confirm it appears on the previously failing one within the expected interval.
Questions people ask about this
Does fixing 8453 cost anything?
No. This is permissions and account attributes inside your own directory, and every tool is already installed on a domain controller.
Should I add the controllers individually to the permission list?
No. Grant to Enterprise Domain Controllers, the domain’s Domain Controllers group, and Enterprise Read-Only Domain Controllers where RODCs exist. Those memberships are maintained automatically; individual entries rot the first time the topology changes.
I have 8589 as well. Do I need to register SPNs?
No, and that is the most common wrong turn with this code. Microsoft publishes 8589 as the directory being unable to derive an SPN because the server object in the local database has no serverReference attribute. Fix the server object in Sites and Services; setspn changes nothing here.
Only my read-only DCs are failing. Why?
Because the rights on the naming context roots are usually granted to Enterprise Domain Controllers and not to Enterprise Read-Only Domain Controllers. Microsoft names granting Replicating Directory Changes to that group on each NC root as the top solution for RODC cases, alongside checking that adprep /rodcprep has been run.
How urgent is this?
More urgent than it looks. Replication that stays broken past the tombstone lifetime moves you into a different and much larger problem, and the fix for that one is not a permission change.
