Compartilhar via


Fazendo backup de um servidor do Active Directory

Um backup do servidor do Active Directory requer que você faça backup do banco de dados e dos logs de transações. Este tópico fornece um passo a passo de como um aplicativo de backup faz backup do serviço de diretório do Active Directory.

O chamador dessas funções de backup deve ter o privilégio SE_BACKUP_NAME . Você pode usar a função DsSetAuthIdentity para definir o contexto de segurança sob o qual as funções de backup/restauração de diretório são chamadas.

Para fazer backup de um servidor do Active Directory, execute as seguintes etapas

  1. Chame a função DsIsNTDSOnline para determinar se os Serviços de Domínio Active Directory estão em execução.
  2. Se os Serviços de Domínio Active Directory estiverem em execução, chame a função DsBackupPrepare para inicializar um identificador de contexto de backup. Se os Serviços de Domínio Active Directory não estiverem em execução, não será possível fazer backup e o aplicativo de backup deverá falhar na operação de backup.
  3. Chame a função DsBackupGetDatabaseNames para obter uma lista de arquivos para backup. Para liberar a memória retornada por essa função, chame a função DsBackupFree.
  4. Para cada nome na lista retornada de arquivos, chame a função DsBackupOpenFile seguida de chamadas repetidas para a função DsBackupRead até que o arquivo inteiro tenha sido lido. Quando terminar de ler o arquivo, chame a função DsBackupClose para fechá-lo.
  5. Depois que todos os arquivos de banco de dados forem copiados, chame a função DsBackupGetBackupLogs para obter uma lista de logs de transações. Essa lista é tratada exatamente como a lista de arquivos de banco de dados.
  6. Quando terminar de fazer backup do log de transações, chame a função DsBackupTruncateLogs para excluir todos os logs de transações confirmados dos quais foi feito backup.
  7. Salve o conteúdo do token de expiração fornecido pela função DsBackupPrepare. Isso pode ser salvo em um arquivo ou em alguma outra memória persistente. Esse token deve ser passado para a função DsRestorePrepare para iniciar uma operação de restauração.
  8. Libere a memória para o token de expiração passando o ponteiro do token para a função DsBackupFree.
  9. Finalmente, chame a função DsBackupEnd para liberar todos os recursos associados ao identificador de contexto de backup.