我们希望在完全备份后创建远程增量备份.这将允许我们在发生故障时进行恢复,并使用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: Unable to find table definition for table referenced in transaction log
事务日志恢复命令是:
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上获得更多反馈