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
- Chame a função DsIsNTDSOnline para determinar se os Serviços de Domínio Active Directory estão em execução.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Libere a memória para o token de expiração passando o ponteiro do token para a função DsBackupFree.
- Finalmente, chame a função DsBackupEnd para liberar todos os recursos associados ao identificador de contexto de backup.