Active Directory Replication Error 8451: The replication operation encountered a database error


Notice


Home users: This article is only intended for technical support agents and IT professionals. If you're looking for help with a problem, please ask the Microsoft Community.

Symptoms


This article describes the symptoms, cause and resolution steps for situations where AD operations fail with error 8451: The replication operation encountered a database error.

You might encounter one of more of the following symptoms:

1.    One or more on-screen errors, logged events or diagnostic output identifies the existence of a database error. Possible formats for that error include:

 
HexDecimalSymbolicError string
0x21038451ERROR_DS_DRA_DB_ERRORThe replication operation encountered a database error.
0xfffffc06-1018JET_errReadVerifyFailureChecksum error on a database page
0xfffffbe9-1047JET_errInvalidBufferSizeData buffer doesn't match column size
0xfffffbc-1075JET_errOutOfLongValueIDLong-value ID counter has reached maximum value.(perform offline defrag to reclaim free/unused LongValueIDs)
0xfffffb4a-1206JET_errDatabaseCorruptedNon database file or corrupted db
0xfffffa7a-1414JET_errSecondaryIndexCorruptedSecondary index is corrupt. The database must be defragmented
0xfffffa0a-1526JET_errLVCorruptedCorruption encountered in long-value tree
0xfffff9bf-1601JET_errRecordNotFoundThe key was not found
0xfffff9b-1603JET_errNoCurrentRecordCurrency not on a record
2.       DCPROMO fails with error 8451

Error in DCRPOMO UI

"The operation failed because:
Active Directory Domain Services could not replicate the directory partition
<DN path of failing partition> from the remote Active Directory Domain Controller
<helper DC>.<dns domain name>.<top level domain>.

"The replication operation encountered a database error."

Error text from DCPROMO.LOG

<date> <time> [INFO] NtdsInstall for contoso.com returned 8451
<date> <time> [INFO] DsRolepInstallDs returned 8451
<date> <time> [ERROR] Failed to install to Directory Service (8451)
<date> <time> [INFO] Starting service NETLOGON

3.       REPADMIN.EXE reports that replication attempt has failed with status 8451.

REPADMIN commands that commonly cite the 8451 status include but are not limited to:

· REPADMIN /KCC
· REPADMIN /REHOST
· REPADMIN /REPLICATE
· REPADMIN /REPLSUM
· REPADMIN /SHOWREPL
· REPADMIN /SHOWREPS
· REPADMIN /SHOWUTDVEC
· REPADMIN /SYNCALL


Sample output from "REPADMIN /SHOWREPS" depicting inbound replication from CONTOSO-DC2 to CONTOSO-DC1 failing with the "replication access was denied" error is shown below:

Default-First-Site-Name\CONTOSO-DC1
DSA Options: IS_GC
Site Options: (none)
DSA object GUID: b6dc8589-7e00-4a5d-b688-045aef63ec01
DSA invocationID: b6dc8589-7e00-4a5d-b688-045aef63ec01

==== INBOUND NEIGHBORS ======================================

DC=contoso,DC=com
  Default-First-Site-Name\CONTOSO-DC2 via RPC
  DSA object GUID: 74fbe06c-932c-46b5-831b-af9e31f496b2
  Last attempt @ <date> <time> failed, result 8451 (0x2103):

The replication operation encountered a database error.

  consecutive failure(s).
  Last success @ <date> <time>.

4.       Event Sources and Event ID that frequently cite the 8451 error (in event source + event ID order)

Event SourceEvent ID Event Text
Microsoft-Windows-
ActiveDirectory_DomainService
1039 with extended error 8451 Internal event: Active Directory Domain Services could not process the following object.
Microsoft-Windows-
ActiveDirectory_DomainService
1084 with extended error 8451 Internal event: Active Directory could not update the following object
with changes received from the following source domain controller. This is because an error occurred during the application of the changes to Active Directory on the domain controller.
Microsoft-Windows-
ActiveDirectory_DomainService
1308 with extended error 8451 The Knowledge Consistency Checker (KCC) has detected that successive attempt to replicate with the following directory service failed.
Microsoft-Windows-
ActiveDirectory_DomainService
1699 with extended error 8451 The local domain controller failed to retrieve the changes requested for the following directory partition. As a result, it was unable to send the change requests to the domain controller at the following network address.
NTDS Replication 2108 with extended error 8451 with secondary error value
-1075
This event contains REPAIR PROCEDURES for the 1084 event which has previously been logged. This message indicates a specific issue with the consistency of the Active Directory database on this replication destination. A database error occurred while applying replicated changes to the following object. The database had unexpected contents, preventing the change from being made. Object:
CN=justintu@contoso.com,OU=marketing,OU=5thWard,OU=Houston,DC=Contoso,DC=com Object GUID:
2843919c-345c-4f57-bc1a-4ed5acbcf9e2 Source domain controller:
173ee10f-4c28-4acd-a2d7-61af8d4d3010._msdcs.Contoso.com User Action If none of these actions succeed and the replication error continues, you should demote this domain controller and promote it again. Additional Data Primary Error value:
8451 The replication operation encountered a database error. Secondary Error value: -1075
NTDS Replication 2108 with extended error 8451 with secondary error value
-1526
This event contains REPAIR PROCEDURES for the 1084 event which has previously been logged. This message indicates a specific issue with the consistency of the Active Directory database on this replication destination. A database error occurred while applying replicated changes to the following object. The database had unexpected contents, preventing the change from being made. Object:
CN=justintu@contoso.com,OU=marketing,OU=5thWard,OU=Houston,DC=Contoso,DC=com Object GUID:
2843919c-345c-4f57-bc1a-4ed5acbcf9e2 Source domain controller:
173ee10f-4c28-4acd-a2d7-61af8d4d3010._msdcs.Contoso.com User Action If none of these actions succeed and the replication error continues, you should demote this domain controller and promote it again. Additional Data Primary Error value:
8451 The replication operation encountered a database error. Secondary Error value: -1526
NTDS Replication 2108 with extended error 8451 with secondary error value
-1414
This event contains REPAIR PROCEDURES for the 1084 event which has previously been logged. This message indicates a specific issue with the consistency of the Active Directory database on this replication destination. A database error occurred while applying replicated changes to the following object. The database had unexpected contents, preventing the change from being made. Object:
CN=justintu@contoso.com,OU=marketing,OU=5thWard,OU=Houston,DC=Contoso,DC=com Object GUID:
2843919c-345c-4f57-bc1a-4ed5acbcf9e2 Source domain controller:
173ee10f-4c28-4acd-a2d7-61af8d4d3010._msdcs.Contoso.com User Action If none of these actions succeed and the replication error continues, you should demote this domain controller and promote it again. Additional Data Primary Error value:
8451 The replication operation encountered a database error. Secondary Error value: -1414
NTDS General 1039 with extended error 8451. Internal event: Active Directory could not process the following object.
NTDS KCC 1925 with extended error 8451 The attempt to establish a replication link for the following
writable directory partition failed.
NTDS Replication 1084 with extended error 8451 Internal event: Active Directory could not update the following object
with changes received from the following source domain controller. This is because an error occurred during the application of the changes to Active Directory on the domain controller.
NTDS Replication 1699 with extended error 8451 The local domain controller failed to retrieve the changes requested
for the following directory partition. As a result, it was unable to
send the change requests to the domain controller at the following
network address.

5.       Event Sources and Event ID that frequently accompany other events that contain the 8451 error.

Increasing NTDS diagnostic logging levels on the domain controller produces additional events.

Event Source Event ID Event Text
Internal Processing 1481 with error
-1601
Internal error: The operation on the object failed. Additional Data: Error value: 2 000020EF: NameErr: DSID-032500E8, problem 2001 (NO_OBJECT), data -1601, best match of: "
Internal Processing 1173 with error
-1075
Internal event: Active Directory has encountered the following exception and associated parameters. Exception: e0010004 Parameter: 0 Additional Data Error value: -1075 Internal ID: 205086d
Internal Processing 1173 with error
-1526
Internal event: Active Directory has encountered the following exception and associated parameters. Exception: e0010004 Parameter: 0 Additional Data Error value: -1526 Internal ID: 205036b
Internal Processing 1173 with error
-1603
Internal event: Active Directory has encountered the following exception and associated parameters. Exception: e0010004 Parameter: 0 Additional Data Error value: -1603 Internal ID: 2050344
NTDS ISAM 474 with error
-1018
The database page read from the file 'E:\NTDS\Data\ntds.dit' at offset 3846455296 (0x00000000e5444000) for 8192 (0x00002000) bytes failed verification due to a page checksum mismatch.  The expected checksum was 323677604 (0x134aeda4) and the actual checksum was 2081515684 (0x7c1168a4).  The read operation will fail with error -1018 (0xfffffc06).  If this condition persists then please restore the database from a previous backup.  This problem is likely due to faulty hardware. Please contact your hardware vendor for further assistance diagnosing the problem.
NTDS ISAM488NTDS (396) NTDSA: Data inconsistency detected in table datatable of database C:\WINDOWS\NTDS\ntds.dit (4621,7905).

6.       DCDIAG output

Starting test: Replications

* Replications Check
[Replications Check,<DC Name>] A recent replication attempt
failed:
From <source DC> to <destination DC>
Naming Context: <DN path of failing naming context>
The replication generated an error (8451):
The replication operation encountered a database error

7.       The "replicate now" command in Active Directory Sites and Services returns "The replication operation encountered a database error."

Right-clicking on the connection object from a source DC and choosing "replicate now" fails with "Replication access was denied. The on-screen error message is shown below:

Dialog title text: Replicate Now
Dialog message text: The following error occurred during the attempt to synchronize naming context <%directory partition name%> from Domain Controller <Source DC> to Domain Controller <Destination DC>:
"The replication operation encountered a database error."
The operation will not continue
Buttons in Dialog: OK

8.       Error codes decoded with err.exe relating to the 8451 error and accompanying errors

C:\>err 8451

 for decimal 8451 / hex 0x2103 :

   ERROR_DS_DRA_DB_ERROR                                         winerror.h

 The replication operation encountered a database error.

 2 matches found for "8451"

C:\>err -1414

 for decimal -1414 / hex 0xfffffa7a :

  JET_errSecondaryIndexCorrupted                                esent98.h

 /* Secondary index is corrupt. The database must be

 defragmented */

 1 matches found for "-1414"

C:\>err -1526

 for decimal -1526 / hex 0xfffffa0a :

  JET_errLVCorrupted                                            esent98.h

 /* Corruption encountered in long-value tree */

 1 matches found for "-1526"

C:\>err -1603

 for decimal -1603 / hex 0xfffff9bd :

  JET_errNoCurrentRecord                                        esent98.h

 /* Currency not on a record */

 1 matches found for "-1603"

C:\>err -1075

 for decimal -1075 / hex 0xfffffbcd :

  JET_errOutOfLongValueIDs                                      esent98.h

 /* Long-value ID counter has reached maximum value.

 (perform offline defrag to reclaim free/unused

 LongValueIDs) */

 1 matches found for "-1075"

C:\>err -1601

 for decimal -1601 / hex 0xfffff9bf :

  JET_errRecordNotFound                                         esent98.h

 /* The key was not found */

 1 matches found for "-1601"

C:\>err -1047

 for decimal -1047 / hex 0xfffffbe9 :

  JET_errInvalidBufferSize                                      esent98.h

 /* Data buffer doesn't match column size */

 1 matches found for "-1047"

C:\>err -1018

 for decimal -1018 / hex 0xfffffc06 :

  JET_errReadVerifyFailure                                      ese.h

 /* Checksum error on a database page */

  JET_errReadVerifyFailure                                      esent98.h

 /* Checksum error on a database page */

 2 matches found for "-1018"

C:\>err -1206

 for decimal -1206 / hex 0xfffffb4a :

  JET_errDatabaseCorrupted                                      esent98.h

 /* Non database file or corrupted db */

 1 matches found for "-1206"

Microsoft Exchange Server Error Code Lookup
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=985

Cause


The status 8451: "The replication operation encountered a database error" has multiple root causes including:

1.       Corrupted Active Directory database or Corrupted Active Directory database index which could be caused by:

a.        Failing hardware

      i.      Disk

      ii.      Controller.

                 Controller cache

b.       Outdated drivers

      i.      Controller

c.        Outdated firmware

      i.      Machine BIOS

      ii.      Controller

      iii.      Disk

d.       Sudden power loss

e.       Lingering objects

f.         Long-value ID counter has reached maximum value

      i.      The ESE column types JET_coltypLongText and JET_coltypLongBinary are called long value column types. These columns are large string and large binary objects that may be stored in separate B+ trees away from the primary index. When long values are stored separate from the primary record, they are internally keyed on a long value ID (LID).

g.        Invalid security descriptor in the msExchSecurityDescriptor attribute.

Resolution


1.       Do not demote and re-promote to resolve the issue unless absolutely necessary. Gather data and make an informed decision.

2.       Enable NTDS diagnostic logging for Replication Events and Internal Processing at a level of 5

Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:

322756 How to back up and restore the registry in Windows



To increase NTDS diagnostic logging, change the following REG_DWORD values in the registry of the destination domain controller under the following registry key:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Diagnostics

Set the value of the following subkeys to 5:

5 Replication Events

9 Internal Processing

Note Level 5 logging is extremely verbose and the values of both subkeys should be set back to the default of 0 after the problem is resolved. Filtering the Directory Services event log should be performed to isolate and identify these events.

For more information about the standard terminology that is used to describe Microsoft software updates, click the following article number to view the article in the Microsoft Knowledge Base:

824684 Description of the standard terminology that is used to describe Microsoft software updates

3.       Review the event logs for the new events that were generate from the increased logging for error values that will give a definitive view of the original 8451 error. For example, an Internal Processing event ID 1173 with error value of -1526 would indicate that we have a corruption in long-value tree.

4.       Based on the additional information from the increased logging consult the table below for a potential resolution.

Error (decimal)

Error (hex)

Symbolic name

Error message

Potential resolution

-1018

0xfffffc06

JET_errReadVerifyFailure

Checksum error on a database page

Hardware + firmware + driver check. Restore from backup. Demote/promote

-1047

0xfffffbe9

JET_errInvalidBufferSize

Data buffer doesn't match column size

832851  Inbound Replication Fails on Domain Controllers with Event ID: 1699, Error 8451 or jet error -1601

http://support.microsoft.com/default.aspx?scid=kb;EN-US;832851

-1075

0xfffffbcd

JET_errOutOfLongValueIDs

Long-value ID counter has reached maximum value. (perform offline defrag to reclaim free/unused LongValueIDs)

Offline Defrag

-1206

0xfffffb4a

JET_errDatabaseCorrupted

Non database file or corrupted db

Hardware + firmware + driver check.

ESENTUTIL /K + NTDSUTIL FILE INTEGRITY + NTDSUTIL Semantic Database Analysis + Offline Defrag.

Otherwise restore from backup or demote/promote

-1414

0xfffffa7a

JET_errSecondaryIndexCorrupted

Secondary index is corrupt. The database must be defragmented

Offline Defrag

-1526

0xfffffa0a

JET_errLVCorrupted

Corruption encountered in long-value tree

Hardware + firmware + driver check.

ESENTUTIL /K + NTDSUTIL FILE INTEGRITY + NTDSUTIL Semantic Database Analysis + Offline Defrag.

Otherwise restore from backup or demote/promote

-1601

0xfffff9bf

JET_errRecordNotFound

The key was not found

Hardware + firmware + driver check.

ESENTUTIL /K + NTDSUTIL FILE INTEGRITY + NTDSUTIL Semantic Database Analysis + Offline Defrag.

Otherwise restore from backup or demote/promote

-1603

0xfffff9bd

JET_errNoCurrentRecord

Currency not on a record

Hardware + firmware + driver check.

ESENTUTIL /K + NTDSUTIL FILE INTEGRITY + NTDSUTIL Semantic Database Analysis + Offline Defrag.

Otherwise restore from backup or demote/promote

8451

0x2103

ERROR_DS_DRA_DB_ERROR

The replication operation encountered a database error

Hardware + firmware + driver check.

ESENTUTIL /K + NTDSUTIL FILE INTEGRITY + NTDSUTIL Semantic Database Analysis + Offline Defrag.

Otherwise restore from backup or demote/promote

5.       If all else fails then restore from backup or demote/promote.

More Information


 

Validate the vertical jet database stack from the bottom up (proceeding up to the next layer only when the underlying layer checks out "good"), just like you do with TCP.  

Layer

NTDSUTIL command

ESENTUTL command

(1.) Physical consistency

no equivalent

ESENTUTL /K

(2.) ESE Logical consistency

NTDSUTIL FILES INTEGRITY

ESENTUTL /G

(3.) Application logical consistency

NTDSUTIL ->Semantic database analysis
+
NTDSUTIL -> Offline Defrag 

no equivalent for SDA
+
ESENTUTL / D