Copia de seguridad de un servidor de Active Directory

Una copia de seguridad del servidor de Active Directory requiere que realice una copia de seguridad de la base de datos y los registros de transacciones. En este tema se proporciona un tutorial sobre cómo realiza una copia de seguridad de una aplicación de copia de seguridad del servicio de directorio de Active Directory.

El autor de la llamada de estas funciones de copia de seguridad debe tener el privilegio SE_BACKUP_NAME . Puede usar la función DsSetAuthIdentity para establecer el contexto de seguridad en el que se llama a las funciones de copia de seguridad o restauración del directorio.

Para realizar una copia de seguridad de un servidor de Active Directory, realice los pasos siguientes:

  1. Llame a la función DsIsNTDSOnline para determinar si se está ejecutando Servicios de dominio de Active Directory.
  2. Si Servicios de dominio de Active Directory se están ejecutando, llame a la función DsBackupPrepare para inicializar un identificador de contexto de copia de seguridad. Si Servicios de dominio de Active Directory no se están ejecutando, no se puede realizar una copia de seguridad y la aplicación de copia de seguridad debe producir un error en la operación de copia de seguridad.
  3. Llame a la función DsBackupGetDatabaseNames para obtener una lista de archivos de los que se va a realizar una copia de seguridad. Para liberar la memoria devuelta por esta función, llame a la función DsBackupFree .
  4. Para cada nombre de la lista de archivos devuelta, llame a la función DsBackupOpenFile seguida de llamadas repetidas a la función DsBackupRead hasta que se haya leído todo el archivo. Cuando haya terminado de leer el archivo, llame a la función DsBackupClose para cerrarlo.
  5. Después de realizar una copia de seguridad de todos los archivos de base de datos, llame a la función DsBackupGetBackupLogs para obtener una lista de registros de transacciones. Esta lista se controla igual que la lista de archivos de base de datos.
  6. Cuando haya terminado de realizar una copia de seguridad del registro de transacciones, llame a la función DsBackupTruncateLogs para eliminar todos los registros de transacciones confirmados de los que se ha realizado una copia de seguridad.
  7. Guarde el contenido del token de expiración proporcionado por la función DsBackupPrepare . Esto se puede guardar en un archivo o en otra memoria persistente. Este token se debe pasar a la función DsRestorePrepare para iniciar una operación de restauración.
  8. Libere la memoria del token de expiración pasando el puntero del token a la función DsBackupFree .
  9. Por último, llame a la función DsBackupEnd para liberar todos los recursos asociados al identificador de contexto de copia de seguridad.