加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

Sql Anywhere 11:恢复增量备份失败

发布时间:2021-03-31 18:04:41 所属栏目:MsSql教程 来源:网络整理
导读:我们希望在完全备份后创建远程增量备份.这将允许我们在发生故障时进行恢复,并使用SQL Anywhere网络服务器启动另一台尽可能接近实时备份的计算机. 我们正在进行如下完整备份: dbbackup -y -c "eng=ServerName.DbName;uid=dba;pwd=sql;links=tcpip(host=Ser

我们希望在完全备份后创建远程增量备份.这将允许我们在发生故障时进行恢复,并使用SQL Anywhere网络服务器启动另一台尽可能接近实时备份的计算机.

我们正在进行如下完整备份:

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

这使得备份数据库和日志文件,并可以按预期还原.对于增量备份,如果有多个增量备份,我已尝试使用重命名方案的实时和增量事务日志:

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

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

但是,在还原时应用事务日志时,在将事务日志应用于数据库时始终会收到错误:

10092: Unable to find table definition for table referenced in transaction log

事务日志恢复命令是:

dbeng11 "c:dbpathdbname.db" -a "c:backuppathdbname.log"

该错误未指定它找不到的表,但这是一个受控测试,并且没有创建或删除表.我插入几行,然后在尝试恢复之前启动增量备份.

有谁知道在Sql Anywhere 11上进行增量备份和恢复的正确方法?

更新:认为它可能与目标数据库的复杂性有关,我创建了一个新的空白数据库和网络服务.然后添加一个包含两列的表并插入几行.进行完整备份,然后插入并删除更多行和已提交的事务,然后进行增量备份.在还原完整备份后尝试应用事务日志的增量备份时,这也会失败并出现相同的错误…

编辑:

您可以点击此链接查看相同的问题,并在SA:http://sqlanywhere-forum.sybase.com/questions/4760/restoring-incrementallive-backup-failure上获得更多反馈

解决方法

总结上面帖子中链接的信息….

您使用的命令是实时备份,但您想要的是增量备份.您要使用的方法(根据this blog)使用稍微不同的开关.您希望使用-n -t -x开关,并使用-o指定日志文件.所以命令最终会像:

dbbackup -n -t -x -c "eng=ServerName.DbName;uid=dba;pwd=sql;links=tcpip(host=ServerName)" -o "c:backupbackup_log.txt"

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读