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.
Ursprungligt KB-nummer: 267855
Gäller för: Versioner av Windows Server som stöds
Symptom
DNS-registreringar (Domain Name System) för SRV- och domänkontrollantposter (DC) (registrerade av Netlogon) och NS-poster (läggs till av auktoritativa DNS-servrar) i en Active Directory-integrerad DNS-zon för vissa domänkontrollanter kanske inte fungerar i en domän som innehåller ett stort antal domänkontrollanter (vanligtvis över 1 200). Om den Active Directory-integrerade DNS-zonen har samma namn som Active Directory-domännamnet verkar problem med registrering av A-poster och NS-poster i zonroten uppstå i en domän med fler än 400 domänkontrollanter. Dessutom kan ett eller flera av följande felmeddelanden loggas i händelseloggen:
Event Type: Error
Event Source: DNS
Event Category: None
Event ID: 4011
Description: The DNS server was unable to add or write an update of domain name xyz in zone xyz.example.com to the Active Directory. Check that the Active Directory is functioning properly and add or update this domain name using the DNS console. The event data contains the error.
Data: 0000: 2a 23 00 00 *#..
Event Type: Error
Event Source: DNS
Event 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 event data contains the error.
Data: 0000: 0b 00 00 00 ....
The final status code from event 4015, 0x00000b, maps to error "LDAP_ADMIN_LIMIT_EXCEEDED Administration limit on the server has exceeded."
Event Type: Warning
Event Source: NTDS Replication
Event Category: Replication
Event ID: 1093
Description: The directory replication agent (DRA) could not apply changes to object DC=@,DC=xyz.example.com,CN=MicrosoftDNS,CN=System,DC=xyz,DC=example, DC=com (GUID <GUID>) because the incoming changes cause the object to exceed the database's record size limit. The incoming change to attribute 9017e (dnsRecord) will be backed out in an attempt to make the update fit. In addition to the change to the attribute not being applied locally, the current value of the attribute on this system will be sent out to all other systems to make that the definitive version. This has the effect of nullifying the change to the rest of the enterprise.
The reversal may be recognized as follows: version 5474, time of change 2000-06-28 19:33.24 and USN of 2873104.
Event Type: Information
Event Source: NTDS Replication
Event Category: Replication
Event ID: 1101
Description: The directory replication agent (DRA) was able to successfully apply the changes to object DC=@,DC=xyz.example.com,CN=MicrosoftDNS,CN=System, DC=xyz,DC=example,DC=com (GUID <GUID>) after backing out one or more of the attribute changes. Preceding messages will indicate which attributes were reversed. Please note that this will have the effect of nullifying the change where it was made, causing the original update not to take effect. The originator should be notified that their change was not accepted by the system.
Orsak
Det här problemet beror på att Active Directory har en begränsning på cirka 1 200 värden som kan associeras med ett enda objekt. I en Active Directory-integrerad DNS-zon representeras DNS-namn av dnsNode-objekt och DNS-poster lagras som värden i attributet dnsRecord med flera värden på dnsNode-objekt, vilket gör att felmeddelandena som anges tidigare i den här artikeln inträffar.
Åtgärd
Du kan använda någon av följande metoder för att lösa problemet.
Metod 1
Om du vill ange en lista över DNS-servrar som kan lägga till NS-poster som motsvarar sig själva i en angiven zon väljer du en DNS-server och kör sedan Dnscmd.exe med växeln /AllowNSRecordsAutoCreation:
Om du vill ange en lista över TCP/IP-adresser för DNS-servrar som har behörighet att automatiskt skapa NS-poster för en zon använder du
dnscmd servername /config zonename /AllowNSRecordsAutoCreation IPList
kommandot . Till exempel:Dnscmd NS1 /config zonename.com /AllowNSRecordsAutoCreation 10.1.1.1 10.5.4.2
Om du vill rensa listan över TCP/IP-adresser för DNS-servrar som har behörighet att automatiskt skapa NS-poster för en zon och returnera zonen till standardtillståndet när varje primär DNS-server automatiskt lägger till en NS-post i en zon som motsvarar den
dnscmd servername /config zonename /AllowNSRecordsAutoCreation
använder du kommandot . Till exempel:Dnscmd NS1 /config zonename.com /AllowNSRecordsAutoCreation
Om du vill köra frågor mot listan över TCP/IP-adresser för DNS-servrar som har behörighet att automatiskt skapa NS-poster för en zon använder du
dnscmd servername /zoneinfo zonename /AllowNSRecordsAutoCreation
kommandot . Till exempel:Dnscmd NS1 /zoneinfo zonename.com /AllowNSRecordsAutoCreation
Kommentar
Kör det här kommandot på endast en DNS-server. Active Directory-replikering sprider ändringarna till alla DNS-servrar som körs på domänkontrollanter i samma domän.
I en miljö där de flesta DNS-domänkontrollanter för en domän finns på avdelningskontor och några finns på en central plats, kanske du vill använda Dnscmd
kommandot som beskrevs tidigare i den här artikeln för att ange att IPList endast ska innehålla de centralt placerade DNS-domänkontrollanterna. Genom att göra det lägger endast de centralt placerade DNS-domänkontrollanterna till sina respektive NS-poster i Active Directory-domänzonen.
Metod 2
Viktigt!
Det här avsnittet, metoden eller uppgiften innehåller steg som beskriver hur du ändrar registret. Det kan uppstå allvarliga problem om du gör detta felaktigt. Följ därför noggrant dessa steg. För extra skydd, säkerhetskopiera registret innan du ändrar det. Du kan sedan återställa registret om det uppstår problem. Mer information finns i Säkerhetskopiera och återställa registret i Windows.
Om du vill välja vilken DNS-server som inte lägger till NS-poster som motsvarar sig själva i en Active Directory-integrerad DNS-zon använder du Registereditorn (Regedt32.exe) för att konfigurera följande registervärde på varje berörd DNS-server:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters
Registervärde: DisableNSRecordsAutoCreation
Datatyp: REG_DWORD
Dataområde: 0x0 | 0x1
Standardvärde: 0x0
Det här värdet påverkar alla Active Directory-integrerade DNS-zoner. Värdena har följande betydelser:
Värde | Innebörd |
---|---|
0 | DNS-servern skapar automatiskt NS-poster för alla Active Directory-integrerade DNS-zoner om inte någon zon, som hanteras av servern, innehåller attributet AllowNSRecordsAutoCreation (beskrivs tidigare i den här artikeln) som inte innehåller servern. I det här fallet använder servern konfigurationen AllowNSRecordsAutoCreation. |
1 | DNS-servern skapar inte automatiskt NS-poster för alla Active Directory-integrerade DNS-zoner, oavsett AllowNSRecordsAutoCreation-konfigurationen i Active Directory-integrerade DNS-zoner. |
Kommentar
Om du vill tillämpa ändringarna på det här värdet måste du starta om DNS Server-tjänsten.
Om du vill förhindra att vissa DNS-servrar lägger till motsvarande NS-poster i Active Directory-integrerade DNS-zoner som de är värdar för, kan du använda registervärdet DisableNSRecordsAutoCreation som beskrivs tidigare i den här artikeln.
Kommentar
Om registervärdet DisableNSRecordsAutoCreation är inställt på 0x1 kommer ingen av de Active Directory-integrerade DNS-zoner som hanteras av DNS-servern att innehålla dess NS-poster. Om den här servern därför måste lägga till en egen NS-post i minst en Active Directory-integrerad DNS-zon som den är värd för, ska du inte ange registervärdet till 0x1.
Netlogon-korrigering
Viktigt!
Det här avsnittet, metoden eller uppgiften innehåller steg som beskriver hur du ändrar registret. Det kan uppstå allvarliga problem om du gör detta felaktigt. Följ därför noggrant dessa steg. För extra skydd, säkerhetskopiera registret innan du ändrar det. Du kan sedan återställa registret om det uppstår problem. Mer information finns i Säkerhetskopiera och återställa registret i Windows.
Netlogon-delen av den här snabbkorrigeringen ger administratörer större kontroll enligt beskrivningen tidigare i den här artikeln. Du bör tillämpa korrigeringen på varje domänkontrollant. För att förhindra att en domänkontrollant försöker utföra dynamiska uppdateringar av vissa DNS-poster som som standard uppdateras dynamiskt av Netlogon använder du Regedt32.exe för att konfigurera följande registervärde:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
Registervärde: DnsAvoidRegisterRecords
Datatyp: REG_MULTI_SZ
I det här värdet anger du listan över mnemonics som motsvarar de DNS-poster som inte ska registreras av denna domänkontrollant.
Kommentar
Ange värdet till listan över de enter-avgränsade mnemonics som anges i följande tabell.
Listan över mnemonics innehåller:
Mnemoteknisk | Typ | DNS-post |
---|---|---|
LdapIpAddress | A | <DnsDomainName> |
Ldap | SRV | _ldap._tcp.<DnsDomainName> |
LdapAtSite | SRV | _ldap._tcp.<SiteName>._sites.<DnsDomainName> |
Pdc | SRV | _ldap._tcp.pdc._msdcs.<DnsDomainName> |
Gc | SRV | _ldap._tcp.gc._msdcs.<DnsForestName> |
GcAtSite | SRV | _ldap._tcp.<SiteName>._sites.gc._msdcs.<DnsForestName> |
DcByGuid | SRV | _ldap._tcp.<DomainGuid>.domains._msdcs.<DnsForestName> |
GcIpAddress | A | gc._msdcs.<DnsForestName> |
DsaCname | CNAME | <DsaGuid>._msdcs.<DnsForestName> |
Kdc | SRV | _kerberos._tcp.dc._msdcs.<DnsDomainName> |
KdcAtSite | SRV | _kerberos._tcp.<SiteName>._sites.dc._msdcs.<DnsDomainName> |
Domänkontrollant | SRV | _ldap._tcp.dc._msdcs.<DnsDomainName> |
DcAtSite | SRV | _ldap._tcp.<SiteName>._sites.dc._msdcs.<DnsDomainName> |
Rfc1510Kdc | SRV | _kerberos._tcp.<DnsDomainName> |
Rfc1510KdcAtSite | SRV | _kerberos._tcp.<SiteName>._sites.<DnsDomainName> |
GenericGc | SRV | _gc._tcp.<DnsForestName> |
GenericGcAtSite | SRV | _gc._tcp.<SiteName>._sites.<DnsForestName> |
Rfc1510UdpKdc | SRV | _kerberos._udp.<DnsDomainName> |
Rfc1510Kpwd | SRV | _kpasswd._tcp.<DnsDomainName> |
Rfc1510UdpKpwd | SRV | _kpasswd._udp.<DnsDomainName> |
Kommentar
Det är inte nödvändigt att starta om Netlogon-tjänsten. Om registervärdet DnsAvoidRegisterRecords skapas eller ändras medan Netlogon-tjänsten stoppas eller inom de första 15 minuterna efter att Netlogon har startats, sker lämpliga DNS-uppdateringar med en kort fördröjning (fördröjningen är dock inte senare än 15 minuter efter netlogon startar).
DNS-registreringar av A-poster som utförs av Netlogon kan också ändras med registervärdet RegisterDnsARecords. Mer information finns i Så här aktiverar eller inaktiverar du DNS-uppdateringar i Windows.
Tänk på att både DnsAvoidRegisterRecords och registervärdena RegisterDnsARecords måste tillåta registrering av värdposten (A):
- RegisterDnsARecords = 0x1
Om du listar LdapIpAddress och GcIpAddress i registervärdeinställningarna DnsAvoidRegisterRecords registreras inte A-poster. - RegisterDnsARecords = 0x0
Oavsett om du listar LdapIpAddress och GcIpAddress i registervärdet DnsAvoidRegisterRecords registreras inte A-poster.
För att förhindra att problemet som beskrivs tidigare i den här artikeln uppstår i en miljö där en uppsättning domänkontrollanter och/eller globala katalogservrar (GC) finns på en central plats och ett stort antal domänkontrollanter och/eller GC-servrar finns på avdelningskontor, kan administratören inaktivera registrering av vissa DNS-poster av Netlogon på domänkontrollanterna/grupprincipobjekten på avdelningskontoren. I den här situationen omfattar listan över mnemonics som inte ska registreras:
DC-specifika poster:
Mnemoteknisk | Typ | DNS-post |
---|---|---|
LdapIpAddress | A | <DnsDomainName> |
Ldap | SRV | _ldap._tcp.<DnsDomainName> |
DcByGuid | SRV | _ldap._tcp.<DomainGuid>.domains._msdcs.<DnsForestName> |
Kdc | SRV | _kerberos._tcp.dc._msdcs.<DnsDomainName> |
Domänkontrollant | SRV | _ldap._tcp.dc._msdcs.<DnsDomainName> |
Rfc1510Kdc | SRV | _kerberos._tcp.<DnsDomainName> |
Rfc1510UdpKdc | SRV | _kerberos._udp.<DnsDomainName> |
Rfc1510Kpwd | SRV | _kpasswd._tcp.<DnsDomainName> |
Rfc1510UdpKpwd | SRV | _kpasswd._udp.<DnsDomainName> |
GC-specifika poster:
Mnemoteknisk | Typ | DNS-post |
---|---|---|
Gc | SRV | _ldap._tcp.gc._msdcs.<DnsForestName> |
GcIpAddress | A | gc._msdcs.<DnsForestName> |
GenericGc | SRV | _gc._tcp.<DnsForestName> |
Kommentar
De här listorna innehåller inte platsspecifika poster. Därför finns domänkontrollanter och GC-servrar på avdelningskontor av platsspecifika poster som vanligtvis används av en DC-positionerare. Om ett program söker efter en DC/GC med hjälp av generiska (icke-platsspecifika) poster, till exempel någon av posterna i listorna som anges tidigare i den här artikeln, hittar det en DOMÄNKONTROLLant/GC på den centrala platsen.
En administratör kan också välja att begränsa antalet dc-positionerarposter som SRV och A-poster som registrerats av Netlogon för samma allmänna DNS-namn (_ldap._tcp.dc._msdcs.<DomainName>), även i ett scenario med färre än 1 200 domänkontrollanter i samma domän, för att minska storleken på DNS-svar på frågor för sådana poster.
Status
Microsoft har bekräftat att det är ett problem i de Microsoft-produkter som listas i avsnittet "Gäller för".
Mer information
Varje DNS-server som är auktoritativ för en Active Directory-integrerad DNS-zon lägger till en NS-post. Som standard registrerar varje domänkontrollant i en domän en SRV-post för en uppsättning icke-platsspecifika namn, till exempel "_ldap._tcp.<>domain_name" och A-poster som mappar Active Directory DNS-domännamnet till domänkontrollantens TCP/IP-adresser. När en DNS-server försöker skriva en post efter cirka 1 200 poster med samma delade namn körs LSA (Local Security Authority) med 100 procent cpu-användning i cirka 10 sekunder och registreringen lyckas inte. Netlogon försöker igen med den här registreringen varje timme. 100 procent cpu-användningstoppar visas igen minst en gång i timmen och registreringsförsöken lyckas inte.