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:トランザクションログで参照されているテーブルのテーブル定義が見つかりません

トランザクションログの復元コマンドは次のとおりです。

dbeng11 "c:\dbpath\dbname.db" -a "c:\backuppath\dbname.log"

エラーはどのテーブルを見つけることができないかを指定しませんが、これは制御されたテストであり、テーブルが作成または削除されていません。いくつかの行を挿入し、復元を試みる前に増分バックアップを開始します。

Sql Anywhere 11で増分バックアップと復元を行う正しい方法を知っている人はいますか?

更新:ターゲットデータベースの複雑さに関連している可能性があると考え、新しい空のデータベースとネットワークサービスを作成しました。次に、2つの列を持つ1つのテーブルを追加し、数行を挿入しました。完全バックアップを作成し、さらに数行とコミットされたトランザクションを挿入および削除してから、増分バックアップを作成しました。完全バックアップを復元した後にトランザクションログの増分バックアップを適用しようとすると、これも同じエラーで失敗しました...

編集:

このリンクをたどると、SAに関する若干のフィードバックがある同じ質問を見ることができます:http : //sqlanywhere-forum.sybase.com/questions/4760/restoring-incrementallive-backup-failure


SQL Anywhere専用のQ&Aサイトであるsqlanywhere-forum.sybase comをチェックしてください。
グレアムペロー

おかげで、このサイトは信じられないほど見慣れているように見えます... sybaseドメインの下にあるにも関わらず、提携しているのでしょうか。

回答:


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"
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.