Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln hjälper dig att lösa problemet där händelse-ID 4015 loggas och DNS-servern (Domain Name Service) får ett kritiskt fel.
Ursprungligt KB-nummer: 969488, 2733147
Du får händelse-ID 4015 i något av följande scenarier:
Om du kör DNS-rollen på en skrivskyddad domänkontrollant (RODC) och en skrivbar domänkontrollant (som är värd för DNS) inte är tillgänglig loggas följande händelse på 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-servern kan inte komma åt Active Directory-objektet och följande händelse loggas ofta i DNS-serverns händelselogg.
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."
I en skog eller domän som finns i Active Directory-integrerade DNS-zoner (Domain Name System) har vissa domänkontrollanter som har DNS Server-rollen installerad befordrats och degraderats. Vissa upphöjda domänkontrollanter kan inte registrera SRV, Värd A, Pekare (PTR) eller Namnserver (NS) i Active Directory-integrerade DNS-zoner och följande händelse loggas:
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 loggar DNS-händelse-ID 4015 var tredje minut med felkod 00002095
När en RODC letar upp en skrivbar DNS-server för att utföra ReplicateSingleObject (RSO) utför den en DSGETDC-funktion med följande flaggor inställda:
DS_AVOID_SELF
DS_TRY_NEXTCLOSEST_SITE
DS_DIRECTORY_SERVICE_6_REQUIRED
DS_WRITEABLE_REQUIRED
När en domänkontrollant returneras från DSGETDC-anropet använder den resultatet för att söka efter NS-posten i DNS. Om DSGETDC-anropet misslyckas eller om det inte går att hitta NS-posten för domänkontrollanten som returneras från DSGETDC loggas händelse-ID 4015.
Möjliga orsaker till händelse-ID 4015:
- Ingen skrivbar domänkontrollant är tillgänglig, eller så returneras ingen från DSGETDC-anropet.
- DSGETDC-anropet lyckades, men domänkontrollanten som returnerades har inte DNS-serverrollen installerad eller registrerar inte en NS-post i DNS.
Följande kommando kan köras från RODC för att kontrollera vilken domänkontrollant som returneras från DSGETDC-anropet:
nltest /dsgetdc: DOMAIN.COM /WRITABLE /AVOIDSELF /TRY_NEXT_CLOSEST_SITE /DS_6
Var DOMAIN.COM
är ditt domännamn.
Mer information om funktionen DSGETDC finns i funktionen DsGetDcNameA.
Lös någon av orsakerna ovan genom att se till att en skrivbar domänkontrollant är tillgänglig från RODC, att DNS-serverrollen är installerad på domänkontrollanten och att NS-posten är registrerad i DNS för den skrivbara domänkontrollanten.
Händelse-ID 4015 loggas med felkoden 0000051B
Det här problemet uppstår på grund av behörighetsproblem. SYSTEM är inte ägare till DNS-zonen. Du kan aktivera fältteknikens diagnostikloggning för att identifiera DNS-zonen och ändra ägaren.
Ange DNS-zonägare till SYSTEM
Följ dessa anvisningar för att lösa problemet:
När du ser DNS-felet i DNS-serverns händelseloggar igen när loggningen har aktiverats stoppar du ad-diagnostikfältets tekniska loggning genom att ange följande registervärde till 0:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Diagnostics\15 Field Engineering
Korrelera den exakta tiden för händelse-ID 4015 till katalogtjänsthändelse-ID 1644 och identifiera DNS-programkatalogpartitionen.
Öppna verktyget ADSI Edit (Adsiedit.msc) och gå till LDAP-platsen för objektet som identifieras i Händelse-ID 1644, som korrelerar med händelse-ID 4015.
Högerklicka på zonen, gå till Egenskaper>Säkerhet>Avancerat och kontrollera att ägaren är inställd på SYSTEM.
Händelse-ID 4015 loggas med en utökad felkod (ADMIN_LIMIT_EXCEEDED)
Det här problemet uppstår när DNS Server-tjänsten når dnsRecord
attributgränsen för flera värden för dnsNode
objektet i Active Directory. I Active Directory-integrerade DNS-zoner representeras DNS-namn av dnsNode
objekt och DNS-poster lagras som värden i dnsRecord
objektattribut dnsNode
. DNS-resursposter (RR) för degraderade domänkontrollanter tas inte bort automatiskt från dnsRecord
attribut för dnsNode
objekt i motsvarande zon i den relaterade Active Directory-partitionen. Till exempel:
DC=..TrustAnchors,CN=MicrosoftDNS,DC=ForestDnsZones,DC=xxx,DC=xxx
När ytterligare poster läggs till dnsRecord
i objektens dnsNode
attribut resulterar de överblivna posterna i degraderade domänkontrollanter i ADMIN_LIMIT_EXCEEDED fel.
Kör följande repadmin
kommandon för att kontrollera det aktuella antalet poster i varje partition:
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
Utdata visar det aktuella antalet poster i dnsRecord
attribut för motsvarande Active Directory-integrerade zon. Till exempel:
DN: DC=@,DC=..TrustAnchors,CN=MicrosoftDNS,DC=ForestDnsZones,DC=contoso,DC=com
1280> dnsRecord: <48 byte blob>;
Ta bort överblivna poster för angivna domänkontrollanter
Lös problemet genom att ta bort alla överblivna poster för de angivna domänkontrollanterna från zonerna. Om du vill kontrollera och selektivt ta bort posterna kör du följande Windows PowerShell-cmdletar:
Get-DnsServerResourceRecord -ZoneName trustanchors -RRType Ns
Remove-DnsServerResourceRecord -zonename trustanchors -RRType Ns -Name “@” -RecordData DC.contoso.com
Om du behöver ta bort flera resursposter (RR) för en enda värd kör du följande cmdletar:
$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
}
}
Aktivera felsökningsloggning med Felsökningsskript (TSS)
Kör följande cmdlet för att starta spårningar på DNS-servern med hjälp av TSS:
.\TSS.ps1 -Scenario NET_DNSsrv -Mode Verbose -WaitEvent Evt:4015:'DNS Server'
Kommentar
Spårningsloggningen stoppas automatiskt när händelse-ID 4015 loggas.
Mer information finns i Samla in viktig information innan du kontaktar Microsofts support.