16 backup restore sybase-sql-anywhere
我们想在完整备份后创建远程增量备份。这将使我们能够在发生故障时进行恢复,并使用 SQL Anywhere 网络服务器启动另一台具有尽可能接近实时备份的机器。
我们正在做一个完整的备份如下:
dbbackup -y -c "eng=ServerName.DbName;uid=dba;pwd=sql;links=tcpip(host=ServerName)"
c:\backuppath\full
Run Code Online (Sandbox Code Playgroud)
这会备份数据库和日志文件,并且可以按预期恢复。对于增量备份,如果有多个增量备份,我已经使用重命名方案尝试了实时和增量事务日志:
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
Run Code Online (Sandbox Code Playgroud)
但是,在将事务日志应用于还原时,将事务日志应用于数据库时总是收到错误消息:
10092:无法找到事务日志中引用的表的表定义
事务日志恢复命令是:
dbeng11 "c:\dbpath\dbname.db" -a "c:\backuppath\dbname.log"
Run Code Online (Sandbox Code Playgroud)
该错误没有指定它找不到哪个表,但这是一个受控测试,没有创建或删除任何表。我插入几行然后在尝试恢复之前启动增量备份。
有谁知道在 Sql Anywhere 11 上进行增量备份和还原的正确方法吗?
更新:考虑可能与目标数据库的复杂性有关,我做了一个新的空白数据库和网络服务。然后添加了一个包含两列的表格并插入了几行。进行完整备份,然后插入和删除更多行并提交事务,然后进行增量备份。在恢复完整备份后尝试应用事务日志的增量备份时,这也失败并出现相同的错误...
编辑:
您可以点击此链接查看相同的问题,并提供更多关于 SA 的反馈:http : //sqlanywhere-forum.sybase.com/questions/4760/restoring-incrementallive-backup-failure
总结上面帖子中链接的信息......
您使用的命令用于实时备份,但您想要的是增量备份。您想要使用的方法(根据此博客)使用了一些不同的开关。您想要使用-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"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1594 次 |
最近记录: |