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:无法找到事务日志中引用的表的表定义

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

谢谢,哇,这个站点看起来异常的熟悉。。。即使它是一个sybase域,它也是附属的吗?还是您认为他们会介意太多?

Answers:


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"
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.