我们希望在完整备份后创建远程增量备份。这将使我们能够在发生故障时进行恢复,并通过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:无法找到事务日志中引用的表的表定义
transaction log restore命令为:
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
您可能想查看sqlanywhere-forum.sybase com,这是专门针对SQL Anywhere的问答网站。
—
Graeme Perrow