Как да компресирате база данни на Active Directory

Както знаете, базата данни на Active Directory се съхранява във файла NTDS.DIT, чийто размер може да варира в различните контролери на домейни. Причината е, че Active Directory е услуга на директория с мулти-мастер независим модел, при който промяна може да се случи на всеки контролер на домейн и с течение на времето тези промени трябва да бъдат репликирани към други контролери на домейни. И защото промените се репликират между контролерите на домейни, а не между базите данни, това означава, че размерът на файловете на базата данни на Active Directory на различни контролери може да се различава.

В Windows 2000 и Windows Server 2003, Directory Services (DS) извършва онлайн дефрагментация на всеки 12 часа като част от процеса на събиране на боклука. Този тип дефрагментация премества данни само във файла на базата данни (NTDS.DIT) и не намалява размер на файла, това означава, че когато се изпълнява Active Directory, файлът на базата данни не може да бъде компресиран.

Ако извършите дефрагментиране на офлайн файла на NTDS.DIT ​​на контролер на домейн при спиране на Active Directory, размерът на файла NTDS.DIT ​​може да бъде значително намален.

Въпреки това, заслужава да се отбележи, че дефрагментирането на файла NTDS.DIT ​​абсолютно не е задължителна процедура, тъй като по време на работа механизмите на Windows автоматично гарантират целостта и производителността на базата данни на AD, като изчистват изтритите от нея надгробни паметници. Офлайн дефрагментирането на файла NTDS.DIT, най-вероятно няма да увеличи скоростта на изпълнение на заявките за AD, като единствената цел на дефрагментирането на офлайн на базата данни на AD е възможността да се спести място на диска.

Така че, за да компресирате базата на Active Directory, трябва да спрете услугите на домейна на Active Directory. В Windows 2008 и по-нови версии просто спирате ADDS (нетно спиране ntds), в Windows 2003 ще трябва да рестартирате контролера на домейна и при зареждане стартирайте в режим за възстановяване на услугите на директории чрез натискане на F8 и избор на DSRM.

След спиране на базата данни на Active Directory можете да продължите с поддръжката й с помощта на помощната програма NTDSUTIL (Вече описах как да използвате тази команда за анализ на базата данни на Active Directory)

  1. В командния ред въведете: Ntdsutil
  2. след това файлове
  3. Ако се появи грешка, която казва "Активен инстанс не е зададен", за да изберете AD базова инстанция, въведете  Активирайте Instance NTDS
  4. След това изпълнете командата компактен към c: \ compactntds
  5. В резултат на това ще започне компресирането на файла на базата данни на AD и на екрана ще се покаже лента за напредък
  6. След приключване на процеса на компресиране, ще се появи инструкция с действията, които трябва да бъдат изпълнени по-нататък (инструкциите зависят от вашата конфигурация и местоположението на файла NTDS.DIT)
  7. Копирайте компресирания NTDS.DIT ​​файл в директорията с оригиналния NTDS.DIT ​​файл, например: копирайте „c: \ compactntds \ ntds.dit“ „D: \ ADDS \ ntds.dit“
  8. Изтрийте старите дневници от директорията NTDS.DIT: del / q c: \ windows \ NTDS \ *. лог
  9. Стартирайте ADDS (Windows Server 2008) или рестартирайте контролера на домейна (Windows 2003/2000), за да стартирате контролера на домейна нормално

забележка: Процесът на компресиране на база данни на Active Directory е доста прост. Но имайте предвид, че тази операция трябва да се извърши на всички контролери на домейни, на които искате да намалите размера на базата данни на Active Directory, като физически, самата база данни на AD не се репликира към всички контролери на домейни (повече за репликацията на Active Directory)