Событие с идентификатором 4015 регистрируется, и DNS-сервер обнаруживает критическую ошибку
Эта статья поможет устранить проблему, из-за которой регистрируется событие с идентификатором 4015 и на сервере службы доменных имен (DNS) возникает критическая ошибка.
Применяется к: Windows Server 2012 R2
Оригинальный номер базы знаний: 969488, 2733147
Вы получите событие с идентификатором 4015 в одном из следующих сценариев:
Если вы запускаете роль DNS на контроллере домена Read-Only (RODC), а доступный для записи контроллер домена (размещающий DNS) недоступен, в RODC регистрируется следующее событие.
Log Name: DNS Server Source: Microsoft-Windows-DNS-Server-Service Date: date time Event ID: 4015 Task Category: None Level: Error Keywords: Classic User: N/A Computer: <ComputerName> Description: The DNS server has encountered a critical error from the Active Directory. Check that the Active Directory is functioning properly. The extended error debug information (which may be empty) is "00002095: SvcErr: DSID-03210A6A, problem 5012 (DIR_ERROR), data 16". The event data contains the error.
DNS-сервер не может получить доступ к объекту Active Directory, и следующее событие часто регистрируется в журнале событий DNS-сервера.
Type: Error Source: DNS Category: None Event ID: 4015 Description: The DNS server has encountered a critical error from the Active Directory. Check that the Active Directory is functioning properly. The extended error debug information (which may be empty) is "0000051B: AttrErr: DSID-xxxx, #1: 0:0000051B: DSID-xxxx, problem 1005 (CONSTRAINT_ATT_TYPE), data 0, Att 20119(nTSecurityDescriptor)". The eventdata contains the error."
В лесу или домене, расположенном в зонах с интегрированной системой доменных имен Active Directory (DNS), некоторые контроллеры домена с установленной ролью DNS-сервера были повышены и понижены. Некоторые контроллеры домена с повышенным повышением уровня не могут зарегистрировать SRV, Узел A, Указатель (PTR) или Сервер имен (NS) в интегрированных зонах DNS Active Directory, и регистрируется следующее событие:
The DNS server has encountered a critical error from the Active Directory. Check that the Active Directory is functioning properly. The extended error debug information (which may be empty) is "00002024: SvcErr: DSID-02050BBD, problem 5008 (ADMIN_LIMIT_EXCEEDED), data -1026". The event data contains the error.
RODC регистрирует событие DNS с идентификатором 4015 каждые три минуты с кодом ошибки 00002095
Когда RODC находит доступный для записи DNS-сервер для выполнения РепликацииSingleObject (RSO), он выполняет функцию DSGETDC со следующими установленными флагами:
DS_AVOID_SELF
DS_TRY_NEXTCLOSEST_SITE
DS_DIRECTORY_SERVICE_6_REQUIRED
DS_WRITEABLE_REQUIRED
После возврата контроллера домена из вызова DSGETDC он использует результат для поиска записи NS в DNS. Если вызов DSGETDC завершается сбоем или ему не удается найти запись NS контроллера домена, возвращенную из DSGETDC, событие с идентификатором 4015 будет зарегистрировано.
Возможные причины события с идентификатором 4015:
- Доступ к контроллеру домена для записи недоступен или не возвращается из вызова DSGETDC.
- Вызов DSGETDC выполнен успешно, но возвращенный контроллер домена не имеет установленной роли DNS-сервера или не регистрирует запись NS в DNS.
Следующую команду можно выполнить из RODC, чтобы проверка, какой контроллер домена возвращается из вызова DSGETDC:
nltest /dsgetdc: DOMAIN.COM /WRITABLE /AVOIDSELF /TRY_NEXT_CLOSEST_SITE /DS_6
Где DOMAIN.COM
— ваше доменное имя.
Дополнительные сведения о функции DSGETDC см. в разделе Функция DsGetDcNameA.
Чтобы устранить любой из указанных выше причин, убедитесь, что доступ к записываемому контроллеру домена доступен из RODC, что роль DNS-сервера установлена на этом контроллере домена и что запись NS зарегистрирована в DNS для записываемого контроллера домена.
Событие с идентификатором 4015 регистрируется с кодом ошибки 0000051B
Эта проблема возникает из-за проблем с разрешениями. SYSTEM не является владельцем зоны DNS. Вы можете включить ведение журнала диагностики Field Engineering , чтобы определить зону DNS и изменить владельца.
Задайте для владельца зоны DNS значение SYSTEM
Чтобы устранить эту проблему, выполните следующие действия.
Если после включения ведения журнала снова появится ошибка DNS в журналах событий DNS-сервера, остановите ведение журнала диагностики области диагностики AD, задав для следующего значения реестра значение 0:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Diagnostics\15 Field Engineering
Сопоставите точное время события с идентификатором 4015 с событием службы каталогов с идентификатором 1644 и определите раздел каталога приложения DNS.
Откройте средство редактирования ADSI (Adsiedit.msc) и перейдите к расположению LDAP объекта, определенного с идентификатором события 1644, который соответствует идентификатору события 4015.
Щелкните правой кнопкой мыши зону, перейдите в раздел Свойства>Безопасность>Дополнительно и убедитесь, что для параметра Владелец задано значение SYSTEM.
Событие с идентификатором 4015 регистрируется с расширенным кодом ошибки (ADMIN_LIMIT_EXCEEDED)
Эта проблема возникает, когда служба DNS-сервера достигает предела dnsRecord
атрибутов с несколькими значениями для dnsNode
объекта в Active Directory. Во интегрированных зонах DNS Active Directory DNS-имена представлены объектами dnsNode
, а записи DNS хранятся в виде значений в dnsRecord
атрибутах dnsNode
объектов. Записи ресурсов DNS (RR) пониженных контроллеров домена не удаляются автоматически из dnsRecord
атрибутов dnsNode
объектов в соответствующей зоне связанного раздела Active Directory. Например:
DC=..TrustAnchors,CN=MicrosoftDNS,DC=ForestDnsZones,DC=xxx,DC=xxx
При добавлении дополнительных записей к dnsRecord
атрибутам dnsNode
объектов потерянные записи пониженных контроллеров домена приводят к ошибке ADMIN_LIMIT_EXCEEDED.
Чтобы проверка текущее количество записей в каждой секции, выполните следующие repadmin
команды:
repadmin /showattr . "CN=MicrosoftDNS,CN=System,DC=contoso,DC=com" /subtree /filter:"(objectclass=dnsnode)" /atts:"dnsRecord" /allvalues >c:\temp\dns_Domain.txt
repadmin /showattr . "CN=MicrosoftDNS,DC=DomainDnsZones,DC=contoso,DC=com" /subtree /filter:"(objectclass=dnsnode)" /atts:"dnsRecord" /allvalues>c:\temp\dns_DomainDnsZones.txt
repadmin /showattr . "CN=MicrosoftDNS,DC=ForestDnsZones,DC=contoso,DC=com" /subtree /filter:"(objectclass=dnsnode)" /atts:"dnsRecord" /allvalues >c:\temp\dns_ForestDnsZones.txt
В выходных данных отображается текущее количество записей в dnsRecord
атрибутах соответствующей интегрированной зоны Active Directory. Например:
DN: DC=@,DC=..TrustAnchors,CN=MicrosoftDNS,DC=ForestDnsZones,DC=contoso,DC=com
1280> dnsRecord: <48 byte blob>;
Удаление потерянных записей обозначенных контроллеров домена
Чтобы устранить эту проблему, удалите из зон все потерянные записи обозначенных контроллеров домена. Чтобы проверка и выборочно удалить записи, выполните следующие командлеты Windows PowerShell:
Get-DnsServerResourceRecord -ZoneName trustanchors -RRType Ns
Remove-DnsServerResourceRecord -zonename trustanchors -RRType Ns -Name “@” -RecordData DC.contoso.com
Если необходимо удалить несколько записей ресурсов (RR) для одного узла, выполните следующие командлеты:
$AllNsRecords = Get-DnsServerResourceRecord -ZoneName “trustanchors” -RRType Ns
Foreach($Record in $AllNsRecords){
If($Record.recorddata.nameserver -like "*dc2*"){
$Record | Remove-DnsServerResourceRecord -ZoneName trustanchors
}
}
$AllSrvRecords = Get-DnsServerResourceRecord -ZoneName “_msdcs.contoso.com” -RRType Srv
Foreach($Record in $AllSrvRecords){
If($Record.recorddata.domainname -like "*dc2*"){
$Record | Remove-DnsServerResourceRecord -ZoneName _msdcs.contoso.com
}
}
Включение ведения журнала отладки с помощью TroubleShootingScript (TSS)
Чтобы запустить трассировку на DNS-сервере с помощью TSS, выполните следующий командлет:
.\TSS.ps1 -Scenario NET_DNSsrv -Mode Verbose -WaitEvent Evt:4015:'DNS Server'
Примечание.
Ведение журнала трассировки будет автоматически остановлено после регистрации события с идентификатором 4015.
Дополнительные сведения см. в статье Сбор ключевых сведений перед обращением в службу поддержки Майкрософт.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по