Dela via


Händelse-ID 4015 loggas och DNS-servern får ett kritiskt fel

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:

  1. 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

  2. Korrelera den exakta tiden för händelse-ID 4015 till katalogtjänsthändelse-ID 1644 och identifiera DNS-programkatalogpartitionen.

  3. Ö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.

  4. 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.