Partager via


Sauvegarde d’un serveur Active Directory

Une sauvegarde de serveur Active Directory vous oblige à sauvegarder la base de données et les journaux des transactions. Cette rubrique fournit une procédure pas à pas de la façon dont une application de sauvegarde sauvegarde le service d’annuaire Active Directory.

L’appelant de ces fonctions de sauvegarde doit avoir le privilège SE_BACKUP_NAME . Vous pouvez utiliser la fonction DsSetAuthIdentity pour définir le contexte de sécurité sous lequel les fonctions de sauvegarde/restauration d’annuaire sont appelées.

Pour sauvegarder un serveur Active Directory, procédez comme suit

  1. Appelez la fonction DsIsNTDSOnline pour déterminer si services de domaine Active Directory sont en cours d’exécution.
  2. Si services de domaine Active Directory sont en cours d’exécution, appelez la fonction DsBackupPrepare pour initialiser un handle de contexte de sauvegarde. Si services de domaine Active Directory ne sont pas en cours d’exécution, il ne peut pas être sauvegardé et l’application de sauvegarde doit échouer l’opération de sauvegarde.
  3. Appelez la fonction DsBackupGetDatabaseNames pour obtenir la liste des fichiers à sauvegarder. Pour libérer la mémoire retournée par cette fonction, appelez la fonction DsBackupFree .
  4. Pour chaque nom dans la liste de fichiers retournée, appelez la fonction DsBackupOpenFile suivie d’appels répétés à la fonction DsBackupRead jusqu’à ce que le fichier entier ait été lu. Une fois que vous avez terminé de lire le fichier, appelez la fonction DsBackupClose pour le fermer.
  5. Une fois tous les fichiers de base de données sauvegardés, appelez la fonction DsBackupGetBackupLogs pour obtenir la liste des journaux des transactions. Cette liste est gérée de la même façon que la liste des fichiers de base de données.
  6. Une fois la sauvegarde du journal des transactions terminée, appelez la fonction DsBackupTruncateLogs pour supprimer tous les journaux des transactions validées qui ont été sauvegardés.
  7. Enregistrez le contenu du jeton d’expiration fourni par la fonction DsBackupPrepare . Cela peut être enregistré dans un fichier ou une autre mémoire persistante. Ce jeton doit être passé à la fonction DsRestorePrepare pour lancer une opération de restauration.
  8. Libérez la mémoire du jeton d’expiration en passant le pointeur de jeton à la fonction DsBackupFree .
  9. Enfin, appelez la fonction DsBackupEnd pour libérer toutes les ressources associées au handle de contexte de sauvegarde.