다음을 통해 공유


인증서 서비스 백업

다음은 Certificate Services 백업 함수를 사용하여 Certificate Services 데이터베이스 및 관련 파일을 백업하는 방법을 보여 주는 시나리오입니다.

  1. LoadLibrary호출하여 Certadm.dll 라이브러리를 메모리에 로드합니다.
  2. Certadm.dll에 필요한 각 함수의 주소를 GetProcAddress의 방법으로 검색합니다. 나머지 단계에서 함수를 호출할 때 이러한 주소를 사용합니다.
  3. CertSrvIsServerOnline 호출하여 인증서 서비스가 온라인 상태인지 여부를 확인합니다. 백업 작업이 성공하려면 인증서 서비스가 온라인 상태여야 합니다.
  4. CertSrvBackupPrepare 호출하여 백업 세션을 시작합니다. 결과 인증서 서비스 백업 컨텍스트 핸들은 다른 많은 백업 함수에서 사용됩니다.
  5. CertSrvRestoreGetDatabaseLocations 호출하여 복원 맵을 확인합니다. 복원 맵에는 백업을 복원할 때 사용할 경로가 포함됩니다. CertSrvRestoreGetDatabaseLocations 검색한 정보를 애플리케이션별 위치에 저장합니다.
  6. CertSrvBackupGetDatabaseNames 호출하여 백업할 데이터베이스 파일의 이름을 확인합니다. 이러한 각 파일에 대해 7~9단계를 실행합니다.
  7. CertSrvBackupOpenFile 호출하여 백업 파일을 엽니다.
  8. CertSrvBackupRead 호출하여 파일에서 바이트 부분을 읽은 다음, 애플리케이션별 루틴을 호출하여 백업 매체에 바이트를 저장합니다. 파일의 모든 바이트가 백업될 때까지 이 단계를 반복합니다.
  9. CertSrvBackupClose 호출하여 파일을 닫습니다.
  10. CertSrvBackupGetBackupLogs 호출하여 백업할 로그 파일의 이름을 확인합니다. 이러한 각 파일에 대해 7~9단계를 실행합니다.
  11. CertSrvBackupTruncateLogs 호출하여 6단계와 10단계에서 백업된 로그 파일을 자릅니다. 이 단계는 선택 사항입니다. 그러나 CertSrvBackupGetDatabaseNamesCertSrvBackupGetBackupLogs가 반환한 모든 파일이 백업된 경우에만 CertSrvBackupTruncateLogs를 호출하십시오. 그렇지 않으면 복원 작업이 실패합니다. 자세한 내용은 CertSrvBackupTruncateLogs 참조 페이지를 참조하세요.
  12. CertSrvBackupGetDynamicFileList 호출하여 백업할 데이터베이스가 아닌 파일의 이름을 확인합니다. 이러한 파일은 함수에서만 식별되며 다른 수단으로 백업해야 합니다.
  13. Certadm.dll별도로 루틴을 사용하여 12단계에서 식별된 동적 파일을 백업합니다.
  14. CertSrvBackupEnd 호출하여 백업 세션을 종료합니다.
  15. 필요에 따라 CertSrvBackupFree 호출하여 특정 Certificate Services 백업 함수에서 할당한 버퍼를 해제합니다. CertSrvBackupGetBackupLogs, CertSrvBackupGetDatabaseNamesCertSrvBackupGetDynamicFileList 호출하면 CertSrvBackupFree호출하여 해제할 수 있는 버퍼가 할당됩니다.
  16. Certadm.dll 리소스를 해제하려면 FreeLibrary를 호출하십시오.

Certificate Services 데이터베이스 및 관련 파일을 백업하는 데 필요한 권한에 대한 자세한 내용은 백업 및 복원 권한설정을 참조하세요.