Поделиться через


Ошибка репликации Active Directory 8304: "Превышен максимальный размер объекта"

Исходный номер базы знаний: 4533837

Итоги

В этой статье рассматриваются причины и решения ошибки репликации Active Directory 8304 (0x2070): "Максимальный размер объекта был превышен".

Примечание.

Вы можете получить понятный текст кода ошибки, выполнив net helpmsg 8304 команду.

Симптомы

Вы можете испытать один из следующих симптомов.

Симптом 1

Команда dcdiag сообщает, что сбой теста репликации Active Directory и ошибка 8304: "Максимальный размер объекта был превышен".

Starting test: Replications  
    [Replications Check, <DESTINATION DC>] A recent replication attempt failed:  
        From <SOURCE DC>to <DESTINATION DC>  
        Naming Context: <directory partition DN path>  
        The replication generated an error (8304):  
        The maximum size of an object has been exceeded.  
        The failure occurred at <date><time>.  
        The last success occurred at <date><time>.  
    ......................... <DESTINATION DC> failed test Replications

Симптом 2

Щелкнув правой кнопкой мыши объект подключения из исходного контроллера домена (DC), а затем выберите "Реплицировать", репликация завершается неудачно и создает следующее сообщение об ошибке:

Реплицировать

При попытке синхронизации имени контекста <active directory с исходного контроллера <> домена домена на целевой контроллер> домена <произошла следующая ошибка:>

Превышен максимальный размер объекта

Операция не продолжится

Симптом 3

Сбой различных команд repadmin.exe и создание ошибки 8304. Эти команды включают в себя, но не ограничиваются следующими:

  • repadmin /add
  • repadmin /replsum
  • repadmin /showrepl
  • repadmin /showrepl
  • repadmin /syncall

Симптом 4

Идентификатор события 1084 регистрируется в журнале событий службы каталогов контроллеров домена, которые пытаются реплицировать входящий трафик объектов Active Directory.

Log Name:      Directory Service  
Source:        Microsoft-Windows-ActiveDirectory_DomainService  
Event ID:      1084  
Task Category: Replication  
Level:         Error  
User:          ANONYMOUS LOGON  
Computer:      <Destination DC>  
Description:  
Internal event: Active Directory Domain Services could not update the following object with changes received from the following source directory service. This is because an error occurred during the application of the changes to Active Directory Domain Services on the directory service.  

Object:  
CN=john\0ADEL:<GUID>,CN=Deleted Objects,<directory partition DN path>  
Object GUID:  
<GUID>  
Source directory service:  
<GUID>._msdcs.contoso.com  

Synchronization of the directory service with the source directory service is blocked until this update problem is corrected.  

This operation will be tried again at the next scheduled replication.

User Action  
Restart the local computer if this condition appears to be related to low system resources (for example, low physical or virtual memory).  

Additional Data  
Error value:  
8304 The maximum size of an object has been exceeded.

Вы также можете увидеть событие 1093:

Log Name:      Directory Service  
Source:        Microsoft-Windows-ActiveDirectory_DomainService  
Event ID:      1093  
Task Category: Replication  
Level:         Warning  
Computer:      <Destination DC>  
Description:  
Active Directory Domain Services could not update the following object with attribute changes because the incoming change caused the object to exceed the maximum object record size. The incoming change to the following attribute will be reversed in an attempt to complete the update.  

Object:
CN=<MachineName>\0ADEL:<GUID>,CN=Deleted  
Objects,DC=xxxx,DC=domainname,DC=com  

Object GUID:  
<GUID>  

Attribute:  
9030d (lastKnownParent)
The current value (without changes) of the attribute on the local directory partition will replicate to all other directory services. This will counteract the change to the rest of the directory services. The reversal values may be recognized as follows:  

Version:  
2  

Time of change:  
<DateTime>

Update sequence number:  
65064475  
Note this event may not quote the attribute that has the most data or values. It quotes the update for the attribute that made the object size overflow.

Причина

Ошибка 8304 регистрируется при попытке контроллера домена реплицировать объект, превышающий максимальный размер.

Наиболее распространенной причиной является наличие не связанного атрибута с большим количеством значений. Из-за внутренней структуры базы данных Active Directory вместе с размером записи базы данных Active Directory размером 8 КБ это ограничение составляет около 1200-1300 значений, в зависимости от совокупности других не связанных атрибутов.

Примечание.

В лесу, где все контроллеры домена работают под управлением Windows Server 2025 (предварительная версия) или более поздней версии, а для уровней функциональных возможностей леса и домена заданы значения Windows Server 2025 (предварительная версия) или более поздней версии с поддержкой дополнительных функций базы данных 32k, многозначные атрибуты теперь могут содержать около 3200 значений. Поэтому вероятность возникновения проблемы значительно снижается.

Дополнительные сведения см. в разделе:

Внимание

Windows Server 2025 находится в предварительной версии. Эта информация относится к предварительному продукту, который может быть существенно изменен до выпуска. Корпорация Майкрософт не дает явных или подразумеваемых гарантий относительно предоставленных здесь сведений.

На исходном сервере при использовании средства, например LDP или выполнения repadmin /showattr /allvalues /extended команды на объекте, выходные данные похожи на следующие:

1> distinguishedName:<GUID=<GUID>>;CN=Allowedclients\0ADEL:<GUID>,CN=Deleted Objects,CN=Configuration,DC=contoso,DC=com

1> instanceType: 0x4 = ( WRITE )

1> whenCreated: 25.4.2018. 13:48:07Central European Daylight Time

…

1> msDS-LastKnownRDN: Allowed clients

1>msExchSmtpReceiveMaxRecipientsPerMessage: 200

1243> msExchSmtpReceiveRemoteIPRanges:10.142.241.142;…

Ниже приведены атрибуты, которые могут возникнуть при возникновении проблемы:

  • proxyAddresses
  • servicePrincipalName
  • userCertificate
  • msExchSmtpReceiveRemoteIPRanges
  • dnsRecord
  • msiFileList
  • msTSProperty01, msTSProperty02, ...
  • registeredAddress

Примечание.

Эта проблема может возникнуть для любого многозначного не связанного атрибута. Атрибут с синтаксисом, связанным или связанным с данными, не влияет на эту проблему.

В зависимости от доступных ресурсов и фактической заполнения страницы локальной базы данных ограничение может быть достигнуто разными значениями. Именно поэтому определенное изменение может быть принято некоторыми экземплярами контроллера домена или LDS, но не для других.

Эта проблема также может возникнуть, когда значение одного атрибута превышает приблизительно 5 МБ. Транзакция базы данных AD должна содержать как предыдущее, так и новое значение при обновлении значения атрибута.

Решение

Это ограничение не зависит от версии ОС microsoft LDAP Server. Решение для этого ограничения отсутствует. Необходимо изменить приложение и как он использует этот атрибут.

Событие 1084 выводит список объекта, превышающего максимальный размер. Если объект является живым объектом, определите атрибут, имеющий слишком много значений, и удалите некоторые значения на исходном контроллере домена.

Если объект является удаленным объектом, а корзина Active Directory включена, лучший способ исправить проблему заключается в том, чтобы принудить объект стать переработанным объектом. При перезапуске объекта Active Directory удаляет большинство атрибутов. Обычно это уменьшает размер объекта достаточно, чтобы его можно было реплицировать успешно. Этот процесс действительно удаляет объект и делает его неустранимым из корзины. Если объект является субъектом безопасности, например учетной записью пользователя, рекомендуется не отменить удаление объекта. Если недостаточно большой объект не будет возвращен, он может предотвратить правильное определение некоторых атрибутов. Это может привести к повреждению объекта и может предотвратить использование или даже удаление объекта.

Следующая команда PowerShell может использоваться для принудительного включения объекта в состояние перезапуска.

Примечание.

Следующая команда должна выполняться на контроллере домена, указанном в событии 1084 в качестве исходного контроллера домена. Событие также выводит список различающегося имени объекта.

Get-ADObject <dn of object> -IncludeDeletedObjects | Remove-ADObject

Например:

Get-ADObject "CN=john\0ADEL:<GUID>,CN=Deleted Objects,dc=contoso,dc=com" | Remove-ADObject

После перезапуска объекта используйте сайты и службы Active Directory, чтобы попытаться принудительно выполнить репликацию.

Дополнительная информация

Ниже приведены некоторые предложения, чтобы избежать ограничения из прошлых проблем Майкрософт.

Использование атрибута dnsRecord microsoft DNS Server

Каждый IP-адрес или целевой объект имени SRV является дополнительным значением атрибута dnsRecord. По умолчанию каждый контроллер домена в Active Directory регистрирует ряд имен в DNS, некоторые из них основаны на сайтах, на которых охватывает контроллер домена, некоторые из них являются менее сайтами. Ограничение обычно достигается для имен без сайта.

При подходе к множеству контроллеров домена в домене, таких как 1200 контроллеров домена, могут возникнуть проблемы с обновлением объектов DNS для имен с дополнительными значениями. В таком домене часто не требуется использовать это множество записей для имен без сайта. Чтобы избежать этого ограничения, можно создать значение реестра DnsAvoidRegisterRecords на контроллерах домена, которые не должны присутствовать в именах без сайта.

Управление томами DFS в атрибуте PKT для пространств имен версии 1

Пространства имен DFS версии 1 используют один объект AD для каждого пространства имен, а все сведения о ссылке DFS хранятся в одном атрибуте PKT. При управлении пространством имен возникают проблемы, когда этот большой двоичный объект превышает 5 МБ (примерно 5000 ссылок).

Дополнительные сведения см. в статье о работе DFS.

В Windows Server 2008 DFS представляет пространства имен версии 2, где каждая ссылка DFS является отдельным объектом AD.

Сбор данных

Если вам нужна помощь от службы поддержки Майкрософт, мы рекомендуем собрать информацию, выполнив действия, описанные в разделе "Сбор сведений" с помощью TSS для проблем с репликацией Active Directory.