복제의 기본 프로세스에 익숙해졌으므로 이제 복제를 보다 지속 가능한 방식으로 구현해 보겠습니다.
SQL 콘솔에서 SQL 문을 실행하여 복제를 설정하고 관리할 수 있습니다. 그러나 이 접근법은 데이터베이스에 생성된 오브젝트를 사용자 ID가 소유하며 이로 인해 다른 사용자가 오브젝트를 가져와야 할 때 문제가 발생할 수 있음을 의미합니다. 또한 데이터베이스 오브젝트를 전송할 수 없습니다.
가장 좋은 방법은 소스 파일을 사용하여 오브젝트를 개발한 다음 빌드/배포하여 HDI 컨테이너에 데이터베이스 아티팩트를 생성하는 것입니다.
복제 태스크

복제를 관리하려면 복제의 메타데이터를 정의하기 위해 .hdbreptask 파일을 생성합니다. 메타데이터는 다음을 설명합니다.
- 원격 소스
소스 데이터에 액세스하는 데 사용되는 원격 소스 오브젝트의 이름입니다.
- 원격 소스 오브젝트
액세스할 테이블, 뷰 또는 파일의 이름입니다.
- 대상 테이블
복제된 데이터가 저장될 테이블의 이름
- 복제 동작
모든 데이터를 한 번만 복제하도록 선택할 수 있습니다. 이를 일반적으로 초기 로드라고 합니다. 이 기능은 데이터의 스냅샷을 원하는 경우에 유용합니다. 향후 데이터만 필요한 경우 초기 로드 없이 실시간 복제를 선택할 수도 있습니다. 그런 다음 테이블 구조의 변경사항을 복제할 수도 있습니다.
다음과 같은 옵션을 사용할 수 있습니다.
- 데이터 전송 없음
소스 데이터 구조의 복사본만 원하는 경우(소스 데이터 제외) 이는 CREATE TABLE <...(new table)> like <...(existing table)>문과 같습니다.
- 초기 로드 시에만
현재 데이터의 복사만 하고 미래 데이터는 복제하지 않으려는 경우 이를 스냅샷이라고 합니다.
- 초기 + 실시간
현재 데이터와 향후 변경이 필요할 수 있습니다.
- 초기 + 실시간(구조 포함)
이전 옵션과 동일하지만 변경 내용이 소스 테이블 구조에도 복제됩니다. 테이블에는 만 작동합니다.
- 실시간
미래 데이터만 필요하고 현재 데이터는 필요하지 않습니다.
- 구조가 있는 실시간 전용
이전 옵션과 동일하지만 테이블 구조가 복제됩니다.
빌드/배포가 완료되면 복제 태스크에서 SAP HANA 데이터베이스에 필요한 다양한 오브젝트를 생성합니다. 여기에는 다음과 같은 항목이 포함됩니다.
- 가상 테이블
- 대상 테이블
- 복제를 설정하는 시작 프로시저(.START_REPLICATION)
- 개별 구독 명령을 실행하는 두 번째 프로시저(.RS_SP)
원격 등록, 트리거 등을 생성하려면 기본 시작 절차를 호출해야 합니다. 복제 태스크는 초기 로드만 실행합니다.
두 번째 절차는 유지보수를 위해 또는 재설정, 드롭 또는 기타 구독 단계와 같은 단일 명령어를 실행하기 위해 호출할 수 있습니다.
프로젝트 설정
대상이 온프레미스 SAP HANA 데이터베이스이면 Web IDE for SAP HANA를 사용합니다.
대상이 SAP HANA Cloud 데이터베이스이면 SAP Business Application Studio를 사용합니다.
두 툴 모두 개발 오브젝트를 관리하려면 먼저 프로젝트와 HDB 모듈을 설정해야 합니다.
원격 소스에 액세스하려면 다음 단계가 필요합니다.
- 사용자 제공 서비스(UPS)를 생성하여 mta.yaml 파일에 리소스로 추가합니다.
- .hdbgrants 파일에 권한을 추가합니다.
다음 화면 캡처와 같이 SAP Business Application Studio에서 직접 사용자 제공 서비스를 생성할 수 있습니다.

노트
대상이 온프레미스 데이터베이스인 경우 XSA 콕피트에서 사용자 제공 서비스를 생성할 수 있습니다.

노트
템플릿에서 제공하지 않는 경우 "hana" 태그를 추가해야 합니다.
템플릿에서 스키마 매개변수를 제공하지 않지만 특정 스키마 이름을 지정할 수도 있습니다.
.hdbgrants 파일에는 다음 예와 같이 오브젝트 소유자와 어플리케이션 사용자 모두에 필요한 권한이 포함되어 있어야 합니다.

아래 동영상을 실행하여 Business Application Studio에서 프로젝트를 설정하는 방법을 알아보십시오.
대상이 온프레미스 데이터베이스인 경우 SAP Web IDE에서 프로젝트를 설정하는 방법을 알아보려면 아래 비디오를 실행하십시오.
복제 태스크 생성
프로젝트가 올바르게 설정되면 서식 기반 편집기를 사용하여 복제 태스크를 생성할 수 있습니다.

해당 단계는 다음과 같습니다.
- 원격 소스에 연결
- 원하는 소스 오브젝트를 선택하십시오.
- 복제 동작 속성 선택
- 빌드/배포
- 데이터베이스 탐색기 에서 생성된 시작 절차를 실행합니다.
- 소스 데이터 수정
- 대상 테이블 점검
복제 태스크를 생성하는 방법을 알아보려면 아래 비디오를 실행하십시오.