Active Directory 서버 백업
Active Directory 서버 백업을 사용하려면 데이터베이스 및 트랜잭션 로그를 백업해야 합니다. 이 항목에서는 백업 애플리케이션이 Active Directory 디렉터리 서비스를 백업하는 방법에 대한 연습을 제공합니다.
이러한 백업 함수의 호출자에게는 SE_BACKUP_NAME 권한이 있어야 합니다. DsSetAuthIdentity 함수를 사용하여 디렉터리 백업/복원 함수가 호출되는 보안 컨텍스트를 설정할 수 있습니다.
Active Directory 서버를 백업하려면 다음 단계를 수행합니다.
- DsIsNTDSOnline 함수를 호출하여 Active Directory Domain Services 실행 중인지 확인합니다.
- Active Directory Domain Services 실행 중인 경우 DsBackupPrepare 함수를 호출하여 백업 컨텍스트 핸들을 초기화합니다. Active Directory Domain Services 실행되고 있지 않으면 백업할 수 없으며 백업 애플리케이션이 백업 작업에 실패해야 합니다.
- DsBackupGetDatabaseNames 함수를 호출하여 백업할 파일 목록을 가져옵니다. 이 함수에서 반환된 메모리를 해제하려면 DsBackupFree 함수를 호출합니다.
- 반환된 파일 목록의 각 이름에 대해 DsBackupOpenFile 함수를 호출한 다음 전체 파일을 읽을 때까지 DsBackupRead 함수를 반복적으로 호출합니다. 파일 읽기를 마쳤으면 DsBackupClose 함수를 호출하여 닫습니다.
- 모든 데이터베이스 파일이 백업되면 DsBackupGetBackupLogs 함수를 호출하여 트랜잭션 로그 목록을 가져옵니다. 이 목록은 데이터베이스 파일 목록과 마찬가지로 처리됩니다.
- 트랜잭션 로그 백업을 완료하면 DsBackupTruncateLogs 함수를 호출하여 백업된 커밋된 모든 트랜잭션 로그를 삭제합니다.
- DsBackupPrepare 함수에서 제공하는 만료 토큰의 내용을 저장합니다. 파일 또는 다른 영구 메모리에 저장할 수 있습니다. 복원 작업을 시작하려면 이 토큰을 DsRestorePrepare 함수에 전달해야 합니다.
- DsBackupFree 함수에 토큰 포인터를 전달하여 만료 토큰에 대한 메모리를 해제합니다.
- 마지막으로 DsBackupEnd 함수를 호출하여 백업 컨텍스트 핸들과 연결된 모든 리소스를 해제합니다.