Dela via


Active Directory-replikeringshändelse-ID:erna 2108 och 1084 inträffar under inkommande replikering av Active Directory-domän Services

Den här artikeln innehåller en lösning på ett problem där du får händelse-ID:t 2108 och 1084 när inkommande replikering av Active Directory-domän Services (AD DS) inträffar.

Ursprungligt KB-nummer: 837932

Symptom

När inkommande replikering av Active Directory-domän Services (AD DS) inträffar loggar en måldomänkontrollant följande händelser i katalogtjänstloggen:

Event ID 1084: Internal event: Active Directory Domain Services could not update the following object with changes received from the following source directory service. This is because an error occurred during the application of the changes to Active Directory Domain Services on the directory service.
Object: CN=<cn path>  
Object GUID: <objectguid>  
Source directory service: NTDSA._msdcs.<forest root DNS domain name>  
Synchronization of the directory service with the source directory service is blocked until this update problem is corrected.  
This operation will be tried again at the next scheduled replication.  
User Action:  
Restart the local computer if this condition appears to be related to low system resources (for example, low physical or virtual memory).  
Additional Data:  
Error value: <error code> <error string>

Kommentar

Error value I texten <representerar felkoden> och <felsträngen> de faktiska värden som visas i loggposten.

Event ID 2108: This event contains REPAIR PROCEDURES for the 1084 event which has previously been logged. This message indicates a specific issue with the consistency of the Active Directory Domain Services database on this replication destination. A database error occurred while applying replicated changes to the following object. The database had unexpected contents, preventing the change from being made.  
Object: CN=<cn path>  
Object GUID: <objectguid>   
Source directory service: NTDSA._msdcs.<forest root DNS domain name>

Kommentar

Det här är en partnerhändelse till händelse 1084.

Orsak

Dessa händelser inträffar när domänkontrollanten inte kan skriva en transaktionsändring till den lokala kopian av Active Directory-databasen.

Åtgärd

Lös problemet genom att följa dessa steg. Försök replikeringsåtgärden igen efter varje steg som gör en ändring.

  1. Kontrollera att det finns tillräckligt med ledigt diskutrymme på de volymer som är värd för Active Directory-databasen och försök sedan utföra åtgärden igen. Följ dessa steg för att frigöra ytterligare diskutrymme:

    1. Flytta orelaterade filer till en annan volym.

    2. Utför en säkerhetskopia av systemtillståndet. Den här processen minskar storleken på transaktionsloggfilerna. Mer information finns i Så här använder du säkerhetskopieringsfunktionen för att säkerhetskopiera och återställa data.

    3. Utför en offlinedefragmentering av Active Directory. Mer information finns i Så här utför du offlinedefragmentering av Active Directory-databasen.

  2. Kontrollera att de fysiska enheter som är värdar för filen Ntds.dit och att transaktionsloggfilerna inte har NTFS-filsystemkomprimering aktiverat. Bekräfta detta genom att högerklicka på enhetsbeteckningen i Min dator och sedan kontrollera att kryssrutan Komprimera enhet för att spara diskutrymme inte är markerad.

  3. Kontrollera att de fysiska enheter som är värdar för filen Ntds.dit och transaktionsloggfilerna uttryckligen undantas från fjärranslutna och lokala antivirusprogram. Mer information finns i:

  4. Om måldomänkontrollanten innehåller den globala katalogen och felet inträffar i någon av de skrivskyddade partitionerna använder du någon av följande metoder för att lösa problemet:

    • Metod 1: Använd alternativet rehost för verktyget Repadmin.exe för att byta värd för den berörda partitionen.

      Verktyget Repadmin.exe installeras på datorer som har rollen domänkontrollant och installeras tillsammans med RSAT (Remote Server Administration Tools) på medlemsarbetsstationer och servrar. För att göra detta skriver du följande i en kommandotolk, där domain_controller är namnet på måldomänkontrollanten och good_source_domain_controller_name är namnet på en annan domänkontrollant:

      repadmin /rehost domain_controller naming_context good_source_domain_controller_name
      
    • Metod 2: Konfigurera domänkontrollanten så att den inte längre är en global katalogserver. Följ de här stegen:

      1. Välj Start, peka på Administrationsverktyg och välj sedan Active Directory-platser och -tjänster.
      2. Leta upp standardservrarna för första platsnamn domain_controller_name\ underträdet NTDS-inställningar.\ \
      3. Högerklicka på NTDS-inställningar och välj sedan Egenskaper.
      4. Markera för att avmarkera kryssrutan Global katalog och välj sedan OK.
    • Metod 3

      Om felet uppstår i en programpartition använder du verktyget Ntdsutil.exe för att ändra repliken som är värd för programpartitionen.

  5. Använd ett verktyg från tredje part, till exempel Verktyget ProcMon, för att avgöra om ett program eller en användare har åtkomst till Active Directory-databasen, transaktionsloggfilerna eller Edp.tmp filen. Om det finns en filåtkomstaktivitet stoppar du de tjänster som ansvarar för aktiviteten. Mer information om procmon-verktyget finns i ProcMon.

  6. Ta reda på om problemet är relaterat till det överordnade active directory-objektet på måldomänkontrollanten. För att göra detta följer du stegen nedan:

    1. Flytta tillfälligt objektet som refereras i händelse 1084 till en organisationsenhetscontainer (OU) på källdomänkontrollanten. Organisationsenheten måste inte ha något samband med den aktuella containern. Du kan till exempel flytta objektet till en ny container från domänens rot.

    2. Om replikeringen har slutförts när du har flyttat objektet flyttar du tillbaka objektet till den ursprungliga containern.

    3. Tvinga säkerhetsbeskrivningen att återskapa objektcontainerns anor i databasen som finns på både käll- och måldomänkontrollanterna. För att göra detta följer du stegen nedan:

      1. Öppna en upphöjd kommandotolk på domänkontrollanten eller Windows-klienten med RSAT installerat.

      2. Skriv ldp.exe <DC-namn> och tryck på Retur.

      3. Välj Anslutningsanslutning> och skriv sedan namnet på den server som du vill ansluta till.

        Kommentar

        Du ansluter via port 389 för Active Directory.

      4. Välj Anslutningsbindning> och skriv sedan ditt administrativa användarnamn, lösenord och domän. (Du måste använda autentiseringsuppgifter för domänadministratör eller företagsadministratör.) Välj OK.

      5. På menyn Bläddra väljer du Ändra. Lämna textrutan DN tom. I textrutan Attribut skriver du FixUpInheritance. Välj Ja i textrutan Värde .

      6. I området Åtgärd väljer du Lägg till.

      7. Välj Retur för att fylla i området Postlista .

        Kommentar

        I området Postlista visas [Lägg till]fixupinheritance:yes.

      8. Markera Kör.

        Kommentar

        Den högra rutan visar nu statusen Ändrad och säkerhetsbeskrivningens spridning startar. Körningen för säkerhetsbeskrivningsspridningen beror på storleken på Active Directory-databasen. Processen är klar när räknaren för DS-säkerhetsspridningshändelser i NTDS-prestandaobjektet återgår till noll.

      9. Välj Stäng>anslutningsavslut.>

  7. På källdomänkontrollanten skriver du repadmin /showmeta distinguished_name_path i en kommandotolk och visar sedan objektmetadata för den unika namnsökvägen som refereras till i Händelse 1084. Upprepa det här steget på måldomänkontrollanten. Leta efter inkonsekventa värden som innehåller, men inte är begränsade till, följande:

    • Felaktiga namn och antal attribut som visas i objektet
    • Felaktiga tids- eller datumstämplar
    • Felaktiga lokala uppdateringssekvensnummer (USN)

    Felaktiga värden kan tyda på ett problem med databassidan som är värd för objektet.

    Om du vill använda verktyget Repadmin.exe när den unika namnsökvägen refererar till ett liveobjekt skriver du följande i en kommandotolk:

    repadmin /showmeta remote_domain_controller_name distinguished_name_path_of_reference _object
    

    Om objektet finns i en container för borttagna objekt eller om du inte kan använda verktyget Repadmin.exe för att hitta objektet använder du objektets GUID-referens för att hitta objektet. Detta GUID refereras i Händelse 1084. Det gör du genom att skriva följande i en kommandotolk:

    repadmin /showmeta remote_domain_controller_name "GUID_for_the_object that_is_referenced_in_Event_ID_1084"
    

    Om händelse 1084 och händelse 2108 till exempel refererar till ett objekt där GUID är b49cd496-98a2-4500-bb08-58550c2f79ac skriver du repadmin /showmeta "<GUID=b49cd496-98a2-4500-bb08-58550c2f79ac>".

    Kommentar

    Citattecken och hakparenteser krävs.

  8. Använd verktyget Ntdsutil.exe för att utföra en integritetskontroll av Active Directory-databasen på källdomänkontrollanten.

    Innan du startar datorn i Återställningsläge för Katalogtjänster (DSRM) hämtar du lösenordet för offlineadministratörskontot och DSRM-kontot. Om dina DSRM-kontolösenord hanteras av Windows LAPS hämtar du lösenordet med Get-LapsADPassword.

    Om du inte känner till lösenordet för administratörskontot återställer du lösenordet för återställningsläget för Katalogtjänster innan du börjar i det här läget.

    Använd kommandot Ntdsutil Set Directory Services Restore Mode Password (Lösenord för återställningsläge för katalogtjänster).

    Mer information om hur du ändrar lösenordet finns i felmeddelandet "Katalogtjänster kan inte starta" när du startar din Windows-baserade eller SBS-baserade domänkontrollant.

  9. Starta om källdomänkontrollanten och tryck sedan på F8 för att starta återställningsläget för Katalogtjänster. Vid kommandotolken skriver du ntdsutil files integrity och trycker sedan på Retur.

    Kommentar

    Det här kommandot bekräftar databasens integritet.

    • Om Ntdsutil-verktyget rapporterar att databasen är skadad och du har repliker av namngivningskontexterna på källdomänkontrollanten, framtvingar du en degradering av källdomänkontrollanten och höjer sedan upp den igen när du har verifierat integriteten för drivrutinerna, den inbyggda programvaran och de fysiska enheter som är värdar för Active Directory-databasen och transaktionsloggfilerna.

    • Om databasen är skadad och det inte finns några repliker av namngivningskontexten på källdomänkontrollanten återställer du det senaste systemtillståndet. Använd verktyget NTDSutil.exe för att bekräfta databasens integritet igen. Om du fortfarande får ett meddelande om skada återställer du äldre säkerhetskopior tills du kan bekräfta domänkontrollantens integritet.

    • Om databasen fortfarande är skadad återställer du den senaste säkerhetskopieringen av systemtillståndet och skriver sedan följande i en kommandotolk:

      ntdsutil files recover
      

      Använd verktyget NTDSutil.exe bekräfta databasens integritet igen. Om databasen klarar integritetskontrollen utför du en offlinedefragmentering av diskpartitionen. Mer information finns i Så här utför du offlinedefragmentering av Active Directory-databasen.

      Om du vill utföra en integritetskontroll av databasen skriver du följande i en kommandotolk och trycker sedan på Retur, där database_name är namnet på Active Directory-databasen:

      esentutl.exe /g database_name
      

      Använd slutligen alternativet Starta Windows normalt för att starta om datorn och försök sedan replikera från källdomänkontrollanten till den berörda måldomänkontrollanten.

  10. Om de här stegen inte lyckas och replikeringsfelet fortsätter, degraderar du domänkontrollanten, bekräftar integriteten för de fysiska enheterna och de volymer som är värdar för filen Ntds.dit och diskundersystemet och höjer sedan upp domänkontrollanten igen. Använd samma datornamn.

  11. Använd kompaktkommandot ntdsutil files för att utföra en offlinedefragmentering av Active Directory-databasen. Mer information finns i Utföra offlinedefragmentering av Active Directory Database .

  12. I kommandotolken skriver du följande kommando och trycker sedan på Retur:

    ntdsutil "semantic database analysis" "go"
    

    Kommentar

    Citattecknen i det här exemplet krävs för att köra kommandot semantisk databasanalys med hjälp av ett enda kommandoradsargument.

    Om fel rapporteras skriver du ntdsutil go fixupoch trycker sedan på Retur.

Datainsamling

Om du behöver hjälp från Microsoft-supporten rekommenderar vi att du samlar in informationen genom att följa stegen i Samla in information med hjälp av TSS för Active Directory-replikeringsproblem.

Ansvarsfriskrivning för information från tredje part

De produkter från andra tillverkare som diskuteras i denna artikel tillverkas oberoende av Microsoft. Produkternas funktion eller tillförlitlighet kan därför inte garanteras.