Compartilhar via


Fazendo backup dos serviços de certificado

Veja a seguir um cenário que mostra como você pode usar as funções de backup dos Serviços de Certificados para fazer backup de um banco de dados dos Serviços de Certificados e seus arquivos associados.

  1. Carregue a biblioteca Certadm.dll na memória (chamando LoadLibrary).
  2. Recupere o endereço de cada uma das funções necessárias em Certadm.dll (por meio de GetProcAddress). Use esses endereços ao chamar as funções nas etapas restantes.
  3. Chame CertSrvIsServerOnline para determinar se os Serviços de Certificados estão online. Os Serviços de Certificado devem estar online para que as operações de backup sejam bem-sucedidas.
  4. Chame CertSrvBackupPrepare para iniciar uma sessão de backup. O identificador de contexto de backup dos Serviços de Certificado resultante será usado por muitas das outras funções de backup.
  5. Chame CertSrvRestoreGetDatabaseLocations para determinar o mapa de restauração. O mapa de restauração contém os caminhos a serem usados ao restaurar o backup. Salve as informações recuperadas por CertSrvRestoreGetDatabaseLocations em um local específico do aplicativo.
  6. Chame CertSrvBackupGetDatabaseNames para determinar os nomes dos arquivos de banco de dados para backup. Para cada um desses arquivos, execute as etapas 7 a 9.
  7. Chame CertSrvBackupOpenFile para abrir o arquivo para backup.
  8. Chame CertSrvBackupRead para ler uma parte dos bytes do arquivo e, em seguida, chame uma rotina específica do aplicativo para armazenar os bytes em um meio de backup. Repita essa etapa até que todos os bytes no arquivo sejam copiados em backup.
  9. Chame CertSrvBackupClose para fechar o arquivo.
  10. Chame CertSrvBackupGetBackupLogs para determinar os nomes dos arquivos de log para backup. Para cada um desses arquivos, execute as etapas 7 a 9.
  11. Chame CertSrvBackupTruncateLogs para truncar os arquivos de log que foram copiados em backup nas etapas 6 e 10. Esta etapa é opcional; no entanto, chame CertSrvBackupTruncateLogs somente se todos os arquivos retornados por CertSrvBackupGetDatabaseNames e CertSrvBackupGetBackupLogs tiverem sido copiados em backup (caso contrário, a operação de restauração falhará). Consulte a página de referência CertSrvBackupTruncateLogs para obter detalhes.
  12. Chame CertSrvBackupGetDynamicFileList para determinar os nomes dos arquivos que não são de banco de dados para backup. Esses arquivos são identificados apenas pela função e devem ser copiados por outros meios.
  13. Faça backup dos arquivos dinâmicos identificados na etapa 12, usando rotinas separadas de Certadm.dll.
  14. Chame CertSrvBackupEnd para encerrar a sessão de backup.
  15. Chame CertSrvBackupFree conforme necessário para liberar buffers alocados por determinadas funções de backup dos Serviços de Certificados. Chamadas para CertSrvBackupGetBackupLogs, CertSrvBackupGetDatabaseNames e CertSrvBackupGetDynamicFileList alocarão buffers que podem ser liberados por uma chamada para CertSrvBackupFree.
  16. Libere os recursos Certadm.dll chamando FreeLibrary.

Para obter informações sobre os privilégios necessários para fazer backup do banco de dados dos Serviços de Certificados e dos arquivos associados, consulte Configurando os privilégios de backup e restauração.