Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel hilft, das Problem zu beheben, bei dem die Ereignis-ID 4015 protokolliert wird und der DNS-Server (Domain Name Service) einen kritischen Fehler verursacht.
Ursprüngliche KB-Nummer: 969488, 2733147
Die Ereignis-ID 4015 wird in einem der folgenden Szenarien angezeigt:
Wenn Sie die DNS-Rolle auf einem Schreibgeschützten Domänencontroller (RODC) ausführen und auf einen schreibbaren Domänencontroller (Hosting DNS) nicht zugegriffen werden kann, wird das folgende Ereignis beim RODC angemeldet.
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.
Der DNS-Server kann nicht auf das Active Directory-Objekt zugreifen, und das folgende Ereignis wird häufig im Ereignisprotokoll des DNS-Servers protokolliert.
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."
In einer Gesamtstruktur oder Domäne in Active Directory-Zonen (Integrated Domain Name System, DNS) wurden einige Domänencontroller, auf denen die DNS-Serverrolle installiert ist, heraufgestuft und herabgestuft. Einige höhergestufte Domänencontroller können srV, Host A, Pointer (PTR) oder Name Server (NS) in den integrierten Active Directory-DNS-Zonen nicht registrieren, und das folgende Ereignis wird protokolliert:
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 protokolliert DIE DNS-Ereignis-ID 4015 alle drei Minuten mit Fehlercode 00002095
Wenn ein RODC einen schreibbaren DNS-Server zum Ausführen von ReplicateSingleObject (RSO) findet, führt er eine DSGETDC-Funktion mit den folgenden Flags aus:
DS_AVOID_SELF
DS_TRY_NEXTCLOSEST_SITE
DS_DIRECTORY_SERVICE_6_REQUIRED
DS_WRITEABLE_REQUIRED
Sobald ein DC vom DSGETDC-Aufruf zurückgegeben wird, wird das Ergebnis verwendet, um nach dem NS-Eintrag in DNS zu suchen. Wenn der DSGETDC-Aufruf fehlschlägt oder der NS-Eintrag des von DSGETDC zurückgegebenen DC nicht gefunden wird, wird die Ereignis-ID 4015 protokolliert.
Mögliche Ursachen der Ereignis-ID 4015:
- Es ist kein schreibbarer DC-Zugriff möglich oder wird vom DSGETDC-Aufruf nicht zurückgegeben.
- Der DSGETDC-Aufruf war erfolgreich, aber der zurückgegebene DC hat die DNS-Serverrolle nicht installiert oder registriert keinen NS-Eintrag in DNS.
Der folgende Befehl kann vom RODC ausgeführt werden, um zu überprüfen, welche DC aus dem DSGETDC-Aufruf zurückgegeben wird:
nltest /dsgetdc: DOMAIN.COM /WRITABLE /AVOIDSELF /TRY_NEXT_CLOSEST_SITE /DS_6
Wo DOMAIN.COM
befindet sich Ihr Domänenname.
Weitere Informationen zur DSGETDC-Funktion finden Sie in der DsGetDcNameA-Funktion.
Um eine der oben genannten Ursachen zu beheben, stellen Sie sicher, dass über RODC auf einen schreibbaren DC zugegriffen werden kann, dass die DNS-Serverrolle auf diesem DC installiert ist und dass der NS-Eintrag im DNS für den schreibbaren DC registriert ist.
Ereignis-ID 4015 mit Fehlercode 0000051B protokolliert
Dieses Problem tritt aufgrund von Berechtigungsproblemen auf. SYSTEM ist nicht der Besitzer der DNS-Zone. Sie können die Field Engineering-Diagnoseprotokollierung aktivieren, um die DNS-Zone zu identifizieren und den Besitzer zu ändern.
Festlegen des DNS-Zonenbesitzers auf SYSTEM
Gehen Sie folgendermaßen vor, um das Problem zu beheben:
Wenn der DNS-Fehler in den DNS-Serverereignisprotokollen erneut angezeigt wird, nachdem die Protokollierung aktiviert wurde, beenden Sie die AD-Diagnosefeld-Engineering-Protokollierung, indem Sie den folgenden Registrierungswert auf 0 festlegen:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Diagnostics\15 Field Engineering
Korrelieren Sie die genaue Uhrzeit der Ereignis-ID 4015 mit der Verzeichnisdienstereignis-ID 1644, und identifizieren Sie die DNS-Anwendungsverzeichnispartition.
Öffnen Sie das ADSI-Bearbeitungstool (Adsiedit.msc), und wechseln Sie zum LDAP-Speicherort des in der Ereignis-ID 1644 identifizierten Objekts, das mit der Ereignis-ID 4015 korreliert.
Klicken Sie mit der rechten Maustaste auf die Zone, wechseln Sie zu "Properties>Security>Advanced", und stellen Sie sicher, dass der Besitzer auf SYSTEM festgelegt ist.
Ereignis-ID 4015 wird mit einem erweiterten Fehlercode protokolliert (ADMIN_LIMIT_EXCEEDED)
Dieses Problem tritt auf, wenn der DNS-Serverdienst den dnsRecord
Grenzwert für mehrwertige Attribute für das dnsNode
Objekt in Active Directory erreicht. In active Directory integrierte DNS-Zonen werden DNS-Namen durch dnsNode
Objekte dargestellt, und DNS-Einträge werden als Werte in dnsRecord
Attributen von dnsNode
Objekten gespeichert. DNS-Ressourceneinträge (RRs) von herabgestuften Domänencontrollern werden nicht automatisch aus dnsRecord
Attributen von dnsNode
Objekten in der entsprechenden Zone der zugehörigen Active Directory-Partition gelöscht. Zum Beispiel:
DC=..TrustAnchors,CN=MicrosoftDNS,DC=ForestDnsZones,DC=xxx,DC=xxx
Wenn zusätzliche Datensätze zu dnsRecord
Attributen von dnsNode
Objekten hinzugefügt werden, führen die verwaisten Einträge von herabgestuften Domänencontrollern zu dem ADMIN_LIMIT_EXCEEDED Fehler.
Führen Sie die folgenden repadmin
Befehle aus, um die aktuelle Anzahl von Datensätzen in jeder Partition zu überprüfen:
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
Die Ausgabe zeigt die aktuelle Anzahl von Einträgen in dnsRecord
Attributen der entsprechenden integrierten Active Directory-Zone an. Zum Beispiel:
DN: DC=@,DC=..TrustAnchors,CN=MicrosoftDNS,DC=ForestDnsZones,DC=contoso,DC=com
1280> dnsRecord: <48 byte blob>;
Löschen verwaister Einträge von gekennzeichneten Domänencontrollern
Um dieses Problem zu beheben, entfernen Sie alle verwaisten Einträge der gekennzeichneten Domänencontroller aus den Zonen. Führen Sie die folgenden Windows PowerShell-Cmdlets aus, um die Einträge zu überprüfen und selektiv zu löschen:
Get-DnsServerResourceRecord -ZoneName trustanchors -RRType Ns
Remove-DnsServerResourceRecord -zonename trustanchors -RRType Ns -Name “@” -RecordData DC.contoso.com
Wenn Sie mehrere Ressourceneinträge (RRs) für einen einzelnen Host löschen müssen, führen Sie die folgenden Cmdlets aus:
$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
}
}
Aktivieren der Debugprotokollierung mit TroubleShootingScript (TSS)
Führen Sie das folgende Cmdlet aus, um Ablaufverfolgungen auf dem DNS-Server mithilfe von TSS zu starten:
.\TSS.ps1 -Scenario NET_DNSsrv -Mode Verbose -WaitEvent Evt:4015:'DNS Server'
Notiz
Die Ablaufverfolgungsprotokollierung wird nach der Protokollierung der Ereignis-ID 4015 automatisch beendet.
Weitere Informationen finden Sie unter "Sammeln wichtiger Informationen", bevor Sie sich an den Microsoft-Support wenden.