다음을 통해 공유


Active Directory 서버 백업

Active Directory 서버 백업을 사용하려면 데이터베이스 및 트랜잭션 로그를 백업해야 합니다. 이 항목에서는 백업 애플리케이션이 Active Directory 디렉터리 서비스를 백업하는 방법에 대한 연습을 제공합니다.

이러한 백업 함수의 호출자에게는 SE_BACKUP_NAME 권한이 있어야 합니다. DsSetAuthIdentity 함수를 사용하여 디렉터리 백업/복원 함수가 호출되는 보안 컨텍스트를 설정할 수 있습니다.

Active Directory 서버를 백업하려면 다음 단계를 수행합니다.

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