Резервное копирование сервера Active Directory

Резервное копирование сервера Active Directory требует резервного копирования базы данных и журналов транзакций. В этом разделе приведено пошаговое руководство по резервному копированию приложения резервного копирования службы Active Directory.

Вызывающий эти функции резервного копирования должен иметь права SE_BACKUP_NAME . Функцию DsSetAuthIdentity можно использовать для задания контекста безопасности, в котором вызываются функции резервного копирования и восстановления каталога.

Чтобы создать резервную копию сервера Active Directory, выполните следующие действия.

  1. Вызовите функцию DsIsNTDSOnline, чтобы определить, выполняются ли службы домен Active Directory.
  2. Если выполняются службы домен Active Directory, вызовите функцию DsBackupPrepare, чтобы инициализировать дескриптор контекста резервного копирования. Если службы домен Active Directory не выполняются, его невозможно создать резервную копию, а приложение резервного копирования должно завершиться сбоем операции резервного копирования.
  3. Вызовите функцию DsBackupGetDatabaseNames, чтобы получить список файлов для резервного копирования. Чтобы освободить память, возвращаемую этой функцией, вызовите функцию DsBackupFree .
  4. Для каждого имени в возвращаемом списке файлов вызовите функцию DsBackupOpenFile, за которой следует повторяющиеся вызовы функции DsBackupRead, пока не будет прочитан весь файл. После завершения чтения файла вызовите функцию DsBackupClose , чтобы закрыть ее.
  5. После резервного копирования всех файлов базы данных вызовите функцию DsBackupGetBackupLogs , чтобы получить список журналов транзакций. Этот список обрабатывается так же, как и список файлов базы данных.
  6. Завершив резервное копирование журнала транзакций, вызовите функцию DsBackupTruncateLogs , чтобы удалить все зафиксированные журналы транзакций, резервные копии которых были созданы.
  7. Сохраните содержимое маркера истечения срока действия, предоставленного функцией DsBackupPrepare . Это можно сохранить в файле или другой постоянной памяти. Этот маркер необходимо передать функции DsRestorePrepare для запуска операции восстановления.
  8. Освобождает память для маркера истечения срока действия, передав указатель маркера функции DsBackupFree.
  9. Наконец, вызовите функцию DsBackupEnd , чтобы освободить все ресурсы, связанные с дескриптором контекста резервного копирования.