Effectuer une défragmentation hors connexion de la base de données Active Directory

Cet article explique comment effectuer une défragmentation hors connexion de la base de données Active Directory.

Produits concernés : Windows Server 2019, Windows Server 2016, Windows Server 2012 R2
Numéro de la base de connaissances d’origine : 232122

Résumé

Active Directory effectue automatiquement la défragmentation en ligne de la base de données à certains intervalles dans le cadre du processus de garbage collection. (Par défaut, cela se produit toutes les 12 heures.) La défragmentation en ligne ne réduit pas la taille du fichier de base de données (Ntds.dit), mais optimise le stockage des données dans la base de données et récupère de l’espace dans le répertoire pour les nouveaux objets.

L’exécution d’une défragmentation hors connexion crée une nouvelle version du fichier de base de données sans fragmentation interne. Il recrée également tous les index. Selon la fragmentation du fichier de base de données d’origine, le nouveau fichier peut être beaucoup plus petit.

Effectuer une défragmentation hors connexion de la base de données Active Directory

Pour effectuer la défragmentation hors connexion de la base de données Active Directory, procédez comme suit :

  1. Sauvegardez Active Directory. La Sauvegarde Windows Server prend en charge en mode natif la sauvegarde d’Active Directory en ligne. Cela se produit automatiquement lorsque vous sélectionnez l’option pour sauvegarder tout ce qui se trouve sur l’ordinateur dans l’Assistant Sauvegarde, ou indépendamment en sélectionnant sauvegarder l’état du système dans l’Assistant.

  2. Effectuez l’une des opérations suivantes :

    • Arrêtez le instance services de domaine Active Directory ou LDS.
    • Démarrez msconfig et accédez au volet de démarrage. Sélectionnez l’installation du système d’exploitation que vous souhaitez configurer. Sélectionnez Démarrage sécurisé dans la section Options de démarrage , puis sélectionnez également l’élément de réparation Active Directory . Après avoir cliqué sur OK, l’outil vous demande de redémarrer. Redémarrez l'ordinateur.
  3. Connectez-vous au compte administrateur à l’aide du mot de passe défini pour le compte d’administrateur local dans le sam du mode de restauration du service d’annuaire.

  4. Ouvrez une fenêtre d’invite de commandes .

  5. NTDSUTIL utilise les variables d’environnement TEMP et TMP pour créer une base de données temporaire pendant la défragmentation. Si l’espace libre sur votre volume standard utilisé est inférieur à la taille de la base de données compactée, vous recevez l’erreur suivante :

    maintenance des fichiers : compact à d :\compactDB
    Lancement du mode DEFRAGMENTATION...
    Base de données source : D :\windows\NTDS\ntds.dit
    Base de données cible : d :\compactDB\ntds.dit

    État de la défragmentation (% terminé)

    0 10 20 30 40 50 60 70 80 90 100

    |----|----|----|----|----|----|----|----|----|----|

    .......................... L’opération s’est terminée avec l’erreur -1808( JET_errDiskFull, Aucun espace restant sur le disque).

    Dans ce cas, définissez les variables d’environnement TMP et TEMP sur un volume qui dispose de suffisamment d’espace libre pour la tâche. Par exemple, utilisez les paramètres suivants :

    Md d:\temp
    Set tmp=d:\temp
    Set temp=d:\temp
    

    Remarque

    Ce problème peut également se produire pendant une case activée d’intégrité de la base de données.

  6. Exécutez NTDSUTIL.

  7. Tapez activate instance ntds pour sélectionner la base de données Active Directory instance. Utilisez le nom de instance LDS si vous souhaitez compacter une base de données LDS.

  8. Tapez fichiers, puis appuyez sur Entrée.

  9. Tapez info, puis appuyez sur Entrée. Cela affiche les informations actuelles sur le chemin et la taille de la base de données Active Directory et de ses fichiers journaux. Notez le chemin d’accès.

  10. Établissez un emplacement disposant d’un espace disque suffisant pour stocker la base de données compactée.

  11. Tapez compact to <drive>:\<directory>, puis appuyez sur Entrée. Dans cette commande, le lecteur> et <le répertoire> des espaces réservés <représentent le chemin d’accès de l’emplacement que vous avez établi à l’étape précédente.

    Remarque

    Vous devez spécifier un chemin d’accès au répertoire. Si le chemin contient des espaces, l’ensemble du chemin doit être placé entre guillemets. Par exemple, tapez compact sur « c :\ndossier ew ».

  12. Une nouvelle base de données nommée Ntds.dit ou AdamNtds.dit est créée dans le chemin que vous avez spécifié.

  13. Tapez quit, puis appuyez sur Entrée. Tapez à nouveau quitter pour revenir à l’invite de commandes.

  14. Si la défragmentation réussit sans erreur, suivez les instructions Ntdsutil.exe à l’écran. Supprimez tous les fichiers journaux du répertoire des journaux en tapant la commande del drive :\ pathToLogFiles \*.logsuivante.

    Copiez le nouveau fichier Ntds.dit ou AdamNtds.dit sur l’ancien fichier de base de données dans le chemin de base de données actuel que vous avez noté à l’étape 5.

    Remarque

    Vous n’avez pas supprimé le fichier Edb.chk.

  15. Si vous avez arrêté services de domaine Active Directory ou LDS instance, vous pouvez le redémarrer maintenant.

  16. Si vous travaillez en mode restauration Active Directory, démarrez msconfig et accédez au volet de démarrage. Sélectionnez l’installation du système d’exploitation que vous souhaitez configurer. Cliquez pour effacer le démarrage sécurisé dans la section Options de démarrage . Lorsque vous cliquez sur OK, l’outil vous demande de redémarrer. Redémarrez l'ordinateur.