Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Эта статья помогает устранить проблему, в которой регистрируется идентификатор события 4015, и сервер доменных имен (DNS) сталкивается с критической ошибкой.
Исходный номер базы знаний: 969488, 2733147
Идентификатор события 4015 вы получаете в одном из следующих сценариев:
Если вы выполняете роль DNS на контроллере домена только для чтения (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, Host A, Pointer (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
При обнаружении 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 был успешным, но возвращенный контроллер домена не установлен или не регистрирует запись 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
При добавлении дополнительных dnsNode
записей в dnsRecord
атрибуты объектов потерянные записи контроллеров домена приводят к ошибке 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.
Дополнительные сведения см. в статье Сбор сведений о ключах перед обращением в службу поддержки Майкрософт.