Sql Anywhere 11: Restaurando falha de backup incremental

16

Queremos criar backups incrementais remotos após um backup completo. Isso nos permitirá restaurar em caso de falha e abrir outra máquina com backups o mais próximo possível do tempo real, com os servidores de rede do SQL Anywhere.

Estamos fazendo um backup completo da seguinte maneira:

dbbackup -y -c "eng=ServerName.DbName;uid=dba;pwd=sql;links=tcpip(host=ServerName)"
    c:\backuppath\full

Isso faz um backup do banco de dados e dos arquivos de log e pode ser restaurado conforme o esperado. Para backups incrementais, tentei os logs de transações ao vivo e incrementais com um esquema de renomeação, se houver vários backups incrementais:

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

No entanto, ao aplicar os logs de transações na restauração, sempre recebo um erro ao aplicar os logs de transações ao banco de dados:

10092: Não foi possível encontrar a definição de tabela para a tabela referenciada no log de transações

O comando de restauração do log de transações é:

dbeng11 "c:\dbpath\dbname.db" -a "c:\backuppath\dbname.log"

O erro não especifica qual tabela não pode ser encontrada, mas este é um teste controlado e nenhuma tabela está sendo criada ou eliminada. Eu insiro algumas linhas e inicio um backup incremental antes de tentar restaurar.

Alguém sabe a maneira correta de fazer backup e restauração incremental no Sql Anywhere 11?

ATUALIZAÇÃO: Pensando que possa estar relacionado à complexidade do banco de dados de destino, criei um novo banco de dados em branco e serviço de rede. Em seguida, adicionou uma tabela com duas colunas e inseriu algumas linhas. Fez um backup completo, depois inseriu e excluiu mais algumas linhas e transações confirmadas, depois fez um backup incremental. Isso também falhou com o mesmo erro ao tentar aplicar os backups incrementais dos logs de transações após restaurar o backup completo ...

Editar:

Você pode seguir este link para ver a mesma pergunta com um pouco mais de feedback sobre o SA: http://sqlanywhere-forum.sybase.com/questions/4760/restoring-incrementallive-backup-failure

Kin Shah
fonte
Você pode conferir o sqlanywhere-forum.sybase com, um site de perguntas e respostas especificamente para o SQL Anywhere.
Graeme Perrow 23/03
Obrigado e uau esse site parece incrivelmente familiar ... é tão afiliado mesmo que esteja sob um domínio sybase ou você acha que eles se importariam demais?

Respostas:

2

Resumindo as informações vinculadas no post acima ....

O comando que você usou é para um backup ao vivo, mas o que você deseja é um backup incremental. A abordagem que você deseja usar (por este blog ) usa opções um pouco diferentes. Você deseja usar as -n -t -xopções e o -o para especificar um arquivo de log. Portanto, o comando termina algo como:

dbbackup -n -t -x -c "eng=ServerName.DbName;uid=dba;pwd=sql;links=tcpip(host=ServerName)" -o "c:\backup\backup_log.txt"
Chris Travers
fonte