전체 백업 후 원격 증가 백업을 작성하려고합니다. 이를 통해 장애 발생시 복원 할 수 있으며 SQL Anywhere 네트워크 서버를 통해 가능한 한 실시간 백업에 가까운 다른 머신을 사용할 수 있습니다.
다음과 같이 전체 백업을 수행하고 있습니다.
dbbackup -y -c "eng=ServerName.DbName;uid=dba;pwd=sql;links=tcpip(host=ServerName)"
c:\backuppath\full
데이터베이스 및 로그 파일을 백업하고 예상대로 복원 할 수 있습니다. 증분 백업의 경우 여러 증분 백업이있는 경우 이름 바꾸기 체계를 사용하여 라이브 및 증분 트랜잭션 로그를 모두 시도했습니다.
dbbackup -y -t -c "eng=ServerName.DbName;uid=dba;pwd=sql;links=tcpip(host=ServerName)"
c:\backuppath\inc
dbbackup -y -l -c "eng=ServerName.DbName;uid=dba;pwd=sql;links=tcpip(host=ServerName)"
c:\backuppath\live
그러나 복원시 트랜잭션 로그를 적용하면 데이터베이스에 트랜잭션 로그를 적용 할 때 항상 오류가 발생합니다.
10092 : 트랜잭션 로그에서 참조 된 테이블에 대한 테이블 정의를 찾을 수 없습니다
트랜잭션 로그 복원 명령은 다음과 같습니다.
dbeng11 "c:\dbpath\dbname.db" -a "c:\backuppath\dbname.log"
오류는 찾을 수없는 테이블을 지정하지 않지만 제어 된 테스트이며 테이블을 작성하거나 삭제하지 않습니다. 몇 개의 행을 삽입 한 다음 복원을 시도하기 전에 증분 백업을 시작합니다.
누구나 SQL Anywhere 11에서 증분 백업 및 복원을 수행하는 올바른 방법을 알고 있습니까?
업데이트 : 대상 데이터베이스의 복잡성과 관련이 있다고 생각하면 새로운 빈 데이터베이스와 네트워크 서비스를 만들었습니다. 그런 다음 두 개의 열이있는 하나의 테이블을 추가하고 몇 개의 행을 삽입했습니다. 전체 백업을 만든 다음 몇 개의 행과 커밋 된 트랜잭션을 삽입하고 삭제 한 다음 증분 백업을 만들었습니다. 전체 백업을 복원 한 후 트랜잭션 로그의 증분 백업을 적용하려고 할 때도 동일한 오류로 실패했습니다 ...
편집하다:
이 링크를 따라 SA에 대한 약간의 피드백이있는 동일한 질문을 볼 수 있습니다. http://sqlanywhere-forum.sybase.com/questions/4760/restoring-incrementallive-backup-failure