Udostępnij za pośrednictwem


Usuwanie obiektów usługi Active Directory, które mają wiele łączy, powoduje błędy replikacji

Ten artykuł zawiera obejście problemu występującego podczas usuwania obiektów usługi Active Directory zawierających wiele linków przesyłania dalej.

Oryginalny numer KB: 3149779

Podsumowanie

W tym artykule omówiono problem występujący podczas usuwania obiektów usługi Active Directory zawierających wiele linków przesyłania dalej. Oto niektóre typowe przykłady:

  • Członkostwa w grupach (atrybut członkowski)
  • Poświadczenia użytkownika mobilnego (atrybut ms-PKI-AccountCredentials)
  • Uwidoczniony link użytkownika (atrybut mds-revealedusers) tylko do odczytu (kontroler domeny tylko do odczytu)

Liczba łączy, w których zaczynają występować problemy, może być nawet 50 000. W jednym obiekcie może istnieć kilka milionów łączy.

Klucz rejestru, który został omówiony w tym artykule, powinien być stosowany tylko do kontrolerów domeny (DCs) i serwerów lightweight Directory Services (LDS), które występują problem opisany w sekcji "Objawy". Postępując zgodnie z zaleceniami podanymi w tym miejscu, można zmniejszyć wydajność replikacji usługi Active Directory, ale zwiększyć niezawodność poprawnego przetwarzania usuwania takich dużych obiektów.

Symptomy

Podczas usuwania obiektów usługi Active Directory, które zawierają wiele linków przesyłania dalej, może wystąpić błąd replikacji. Możesz na przykład usunąć grupy z dużymi zestawami członkostwa lub obniżyć poziom, a następnie usunąć konta komputerów RODC, które mają wiele linków do kont użytkowników, które mają swoje hasło uwidocznione na kontrolerze RODC.

Następujące warunki są kluczowymi wskaźnikami, które to rozwiązanie ma zastosowanie do problemu:

  • Poziom funkcjonalności lasu to Windows Server 2003 lub nowsza wersja systemu Windows Server, dlatego jest używana replikacja wartości łącza.

  • Zdarzenie 2094 (opóźnienie replikacji) występuje kilka razy, odwołując się do tego samego usuniętego obiektu.

  • Zdarzenia 1083 i 1955 (konflikt zapisu) są rejestrowane w bliskiej odległości od rejestrowania zdarzenia 2094 odwołującego się do tego samego usuniętego obiektu.

  • Kontroler domeny, którego dotyczy problem, może również zgłosić, że magazyn wersji jest wyczerpany (zdarzenie o identyfikatorze 623). Wyczerpanie magazynu wersji nie zawsze występuje w tym scenariuszu. Inne czynniki, które zwiększają prawdopodobieństwo wyczerpania magazynu wersji, obejmują wysoką liczbę zmian w obiektach usługi Active Directory, zarówno lokalnych, jak i replikowanych, a także inne długotrwałe operacje, takie jak głębokie zapytania.

  • Replikacja usługi Active Directory kończy się niepowodzeniem z powodu błędu 8409, błędu "Wystąpił błąd bazy danych" lub inne zdarzenia przytaczają powiązane kody stanu wymienione w poniższej tabeli:

    Hex Dziesiętne Symboliczne Przyjacielski
    000020D9 8409 ERROR_DS_DATABASE_ERROR Wystąpił błąd bazy danych

    Jeśli kosz usługi Active Directory jest włączony, błędy replikacji mogą nie wystąpić przez 60 do 180 dni (okres istnienia usuniętego obiektu) po usunięciu obiektu. Problemy występują, gdy obiekt przechodzi ze stanu usuniętego do stanu recyklingu.

Wpisy dziennika zdarzeń

W przypadku wystąpienia problemu rejestrowane są następujące zdarzenia:

Nazwa dziennika: Usługa katalogowa
Źródło: Microsoft-Windows-ActiveDirectory_DomainService
Identyfikator zdarzenia: 2094
Kategoria zadań: replikacja
Poziom: Ostrzeżenie
Słowa kluczowe: Klasyczne
Opis: Ostrzeżenie o wydajności: replikacja została opóźniona podczas stosowania zmian do następującego obiektu. Jeśli ten komunikat występuje często, oznacza to, że replikacja przebiega powoli i że serwer może mieć trudności ze zmianami.
Nazwa wyróżniająca obiektu: <nazwa obiektu>
Identyfikator GUID obiektu: <identyfikator GUID obiektu>
Nazwa wyróżniająca partycji: DC=contoso,DC=com
Serwer: xxxx-xxxx-xxxx-xxxx-xxxxxxx._msdcs.contoso.com
Czas upływający (s): 11
Akcja użytkownika
Częstą przyczyną tego opóźnienia jest to, że ten obiekt jest szczególnie duży, w rozmiarze jego wartości lub w liczbie wartości. Najpierw należy rozważyć, czy można zmienić aplikację, aby zmniejszyć ilość danych przechowywanych w obiekcie, czy liczbę wartości. Jeśli jest to duża grupa lub lista dystrybucyjna, możesz rozważyć podniesienie poziomu funkcjonalności lasu do systemu Windows Server 2003 lub nowszego, ponieważ umożliwi to wydajniejszą pracę replikacji. Należy ocenić, czy platforma serwerowa zapewnia wystarczającą wydajność pod względem pamięci i mocy obliczeniowej. Na koniec warto rozważyć dostrojenie bazy danych usług domena usługi Active Directory, przenosząc bazę danych i dzienniki do oddzielnych partycji dysków.
Jeśli chcesz zmienić limit ostrzeżenia, klucz rejestru zostanie uwzględniony poniżej. Wartość zero spowoduje wyłączenie sprawdzania.
Dodatkowe dane
Limit ostrzeżeń (s): 10
Ogranicz klucz rejestru: System\CurrentControlSet\Services\NTDS\Parameters\Replicator maksymalne oczekiwanie na obiekt aktualizacji (s)
Nazwa dziennika: Usługa katalogowa
Źródło: Microsoft-Windows-ActiveDirectory_DomainService
Identyfikator zdarzenia: 1083
Kategoria zadań: replikacja
Poziom: Ostrzeżenie
Słowa kluczowe: Klasyczne
Opis rozwiązania:
domena usługi Active Directory Services nie można zaktualizować następującego obiektu o zmiany odebrane z usługi katalogowej pod następującym adresem sieciowym, ponieważ domena usługi Active Directory Services był zajęty przetwarzaniem informacji.
Obiekt: <nazwa obiektu>
Adres sieciowy: xxxxx-xxxx-xxxx-xxxx-xxxxxxx._msdcs.contoso.com
Ta operacja zostanie podjęta ponownie później.
Nazwa dziennika: Usługa katalogowa
Źródło: Microsoft-Windows-ActiveDirectory_DomainService
Identyfikator zdarzenia: 1955
Kategoria zadań: replikacja
Poziom: Informacje
Słowa kluczowe: Klasyczne
Użytkownik: LOGOWANIE ANONIMOWE
Opis: domena usługi Active Directory Services napotkał konflikt zapisu podczas stosowania replikowanych zmian do następującego obiektu.
Obiekt: <nazwa obiektu>
Czas w sekundach: 48
Wpisy dziennika zdarzeń poprzedzające ten wpis będą wskazywać, czy aktualizacja została zaakceptowana.
Konflikt zapisu może być spowodowany równoczesnym zmianami tego samego obiektu lub równoczesnym zmianami w innych obiektach, które mają atrybuty odwołujące się do tego obiektu. Dzieje się tak często, gdy obiekt reprezentuje dużą grupę z wieloma elementami członkowskimi, a poziom funkcjonalności lasu jest ustawiony na windows 2000. Ten konflikt wywołał dodatkowe ponawianie próby aktualizacji. Jeśli system wydaje się powolny, może to być spowodowane wystąpieniem replikacji tych zmian.
Akcja użytkownika
Użyj mniejszych grup dla tej operacji lub podnieś poziom funkcjonalności lasu do systemu Windows Server 2003.

Więcej informacji

Domyślnie po usunięciu obiektu usługi Active Directory, który ma wyjątkowo dużą liczbę łączy do przodu i wstecz, 10 000 łączy jest usuwanych jednocześnie. W tym czasie, jeśli inne wątki aktualizują obiekty docelowe tych łączy, transakcja usuwania łącza zostanie zawieszona do momentu ponownego udostępnienia obiektów. To zawieszenie może spowodować zakończenie całej transakcji usuwania. W tym czasie inne zadania replikacji są utrzymywane przez to długotrwałe zadanie. Możesz na przykład zauważyć, że hasła i aktualizacje członkostwa w grupach nie postępują w całym lesie.

Mimo że ta aktualizacja jest oczekująca, administratorzy mogą zobaczyć konflikty zapisu i zdarzenia niepowodzenia transakcji. Ponadto, ponieważ dodatkowe obiekty są przetwarzane przez replikację, coraz więcej magazynów wersji jest przydzielanych, ponieważ oczekująca duża transakcja nie zwalnia przydzielonych wersji magazynu wersji do momentu zakończenia transakcji usuwania. Może to spowodować błędy magazynu wersji i zdarzenia ostrzeżeń replikacji.

Uwaga 16.

  • Odzyskiwanie pamięci nie jest związane z przetwarzaniem usuwania linków członkostwa w grupie.
  • Zmniejszenie TSL nie jest prawidłową metodą przyspieszania usuwania linków.
  • Starsza wartość rozmiaru partii procesu łącza to 1000 w wersjach wcześniejszych niż Windows Server 2008 R2. W nowszych wersjach rozmiar partii jest zwiększany do 10 000, aby zwiększyć wydajność nieukończonych w lasach z włączonym Koszem.
  • Sprawdź wartości parametru Rozmiar partii procesu łącza. Jeśli wartość jest niezdefaultowa, ustaw jej wartość domyślną lub jeszcze mniejszą wartość, taką jak 1000 lub 100.

Mniejsze wartości zmniejszają użycie magazynu wersji, usuwając mniejszą liczbę obiektów na usunięcie, co zmniejsza całkowity czas wykonywania pojedynczej transakcji usuwania. Ma to pozytywny efekt uboczny zmniejszenia magazynu wersji i przedziału czasu dla konfliktów zapisu, podczas gdy zwiększasz czas wymagany do dokładnego odzwierciedlenia członkostwa w grupie w katalogu.

Usługi Active Directory sprawdzają następujący klucz rejestru.

W przypadku usług AD DS:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters\Links process batch size

W przypadku usług AD LDS:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<adam instance>\Parameters\Links process batch size
Typ: DWORD
Minimalna wartość: 100
Wartość maksymalna: 10000

Ta wartość zastępuje wartość domyślną równą 10 000 jako liczbę niepodzielnych łączy do przetwarzania jednocześnie. Nie musisz ponownie uruchamiać usługi wystąpienia NTDS ani LDS ani ponownie uruchomić komputera, aby ustawienie było skuteczne.

Po każdej operacji niepodzielnej zostanie wydany odpowiedni magazyn wersji. Magazyn wersji jest ponownie wymagany tylko podczas następnej operacji niepodzielnej, która nadal przetwarza ten sam obiekt. Możesz mieć drugie przemyślenia dotyczące wyłączania rozmiaru partii łącza o duży stopień. Można połączyć go ze wzrostem magazynu wersji ESE. Jeśli może z powodu zwiększonego magazynu wersji, możesz zdecydować się na zwiększenie magazynu wersji więcej lub nie zmniejszyć wartości rozmiaru partii procesu łącza tak bardzo.

Aby uzyskać więcej informacji, zobacz następujące artykuły:

Rozwiązanie

Aby obejść ten problem, ustaw wartość rozmiaru partii procesu łącza niższa niż 10 000. Zmniejsza to ryzyko wystąpienia kolizji dostępu do obiektu. Dzięki temu proces replikacji dużego obiektu jest bardziej niezawodny. Ponadto ukończenie całej transakcji trwa dłużej. Pomaga to również uniknąć wyczerpania magazynu wersji.

Zbieranie danych

Jeśli potrzebujesz pomocy technicznej firmy Microsoft, zalecamy zebranie informacji, wykonując kroki opisane w temacie Zbieranie informacji przy użyciu przewodnika rozwiązywania problemów z replikacją usługi Active Directory.

Informacje

Aby uzyskać więcej informacji, zobacz następujące artykuły: