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