Sql Anywhere 11 : 증분 백업 실패 복원


16

전체 백업 후 원격 증가 백업을 작성하려고합니다. 이를 통해 장애 발생시 복원 할 수 있으며 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


SQL Anywhere 전용 Q & A 사이트 인 sqlanywhere-forum.sybase com을 확인하십시오.
Graeme Perrow

감사합니다. 사이트가 믿을 수 없을 정도로 친숙해 보인다는 것을 알고 있습니다. Sybase 도메인에 속하거나 지나치게 신경을 쓰더라도 그렇게 제휴하고 있습니까?

답변:


2

위의 게시물에 링크 된 정보를 요약하면 ...

사용한 명령은 라이브 백업용이지만 증분 백업입니다. 사용하려는 접근법 ( 이 블로그 당 )은 약간 다른 스위치를 사용합니다. 당신은 사용하고자하는 -n -t -x로그 파일을 지정하는 스위치 및 -o를. 따라서 명령은 다음과 같이 끝납니다.

dbbackup -n -t -x -c "eng=ServerName.DbName;uid=dba;pwd=sql;links=tcpip(host=ServerName)" -o "c:\backup\backup_log.txt"
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.