El tamaño del archivo NTDS.DIT variará dependiendo de la estructura de AD, y también entre los DCs del dominio. Tengan en mente que Active Directory es un modelo multi master, donde los updates ocurren en cada uno de los DCs y se replican al resto de los DCs.
Los cambios son replicados entre los DCs, pero sólo los cambios, y no las bases de datos. Por esta razón no garantiza que todas las bases sean del mismo tamaño en todos los controladores de dominio.
Windows 2000 y Windows Server 2003 corriendo Active Directory, realizan una defragmentación online cada 12 horas. Este proceso sólo mueve info dentro de la base, la acomoda, pero no reduce el tamaño físico (lo mismo que pasa con Exchange), la base de datos no puede ser compacatada cuando está montada.
La defragmentacion del archivo NTDS.DIT no es algo que sea necesario. Normalmente la base se auto manteiene, eliminando los registros zombies (usuarios eliminados), y dejando su espacio para nuevos objetos.
Para que defragmentar la base entonces?
Una razón puede ser para recuperar el espacio físico que la base ocupa, cuando se han eliminado registros.
Los pasos para realizar la defragmentación serían:
1) INDISPENSABLE Back up de Active Directory (AD).
2) Reinciar el servidor, presionar F8 para opciones avanzadas de booteo.
3) Seleccionar Directory Services Restore Mode, y presionar Enter.
4) Iniciar sesión con la cuenta de Administrador almacenada en la SAM.
5) Desde el Menú Inicio, seleccionar “ejecutar” y luego tipear cmd.
5) Tipear los comandos en negrita:
C:\> ntdsutil
ntdsutil: files
file maintenance:info
….
file maintenance:compact to c:\temp
6) Se verá el proceso de defragmentación en pantalla. Si el resultado es exitoso, tipear quit para retornar al prompt.
7) Ahora tenemos la base defragmentada en “C:\temp”. Tendremos que reemplazar la actual con la defragmentada. Para eso ponemos:
C:\> copy c:\temp\ntds.dit %systemroot%\ntds\ntds.dit
8) Reiniciar el servidor, y debería bootear normalmente.
Espero que les sirva,
Vernocchi, Pablo