Wir möchten nach einer vollständigen Sicherung inkrementelle Remote-Sicherungen erstellen. Auf diese Weise können wir im Falle eines Ausfalls eine Wiederherstellung durchführen und einen anderen Computer mit Echtzeitsicherungen starten, die mit SQL Anywhere-Netzwerkservern möglich sind.
Wir machen eine vollständige Sicherung wie folgt:
dbbackup -y -c "eng=ServerName.DbName;uid=dba;pwd=sql;links=tcpip(host=ServerName)"
c:\backuppath\full
Dadurch werden die Datenbank- und Protokolldateien gesichert und können wie erwartet wiederhergestellt werden. Bei inkrementellen Sicherungen habe ich sowohl Live- als auch inkrementelle Transaktionsprotokolle mit einem Umbenennungsschema versucht, wenn mehrere inkrementelle Sicherungen vorhanden sind:
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
Beim Anwenden der Transaktionsprotokolle bei der Wiederherstellung erhalte ich jedoch immer eine Fehlermeldung, wenn die Transaktionsprotokolle auf die Datenbank angewendet werden:
10092: Die Tabellendefinition für die im Transaktionsprotokoll angegebene Tabelle konnte nicht gefunden werden
Der Befehl zum Wiederherstellen des Transaktionsprotokolls lautet:
dbeng11 "c:\dbpath\dbname.db" -a "c:\backuppath\dbname.log"
Der Fehler gibt nicht an, welche Tabelle nicht gefunden werden kann. Dies ist jedoch ein kontrollierter Test, und es werden keine Tabellen erstellt oder gelöscht. Ich füge ein paar Zeilen ein und starte dann ein inkrementelles Backup, bevor ich versuche, es wiederherzustellen.
Kennt jemand die richtige Methode für inkrementelle Sicherungen und Wiederherstellungen in Sql Anywhere 11?
UPDATE: Da ich glaube, dass dies mit der Komplexität der Zieldatenbank zusammenhängt, habe ich eine neue leere Datenbank und einen neuen Netzwerkdienst erstellt. Dann fügte man eine Tabelle mit zwei Spalten hinzu und fügte ein paar Zeilen ein. Erstellte eine vollständige Sicherung, fügte ein paar weitere Zeilen ein und löschte sie und übermittelte Transaktionen. Anschließend erstellte er eine Teilsicherung. Dies schlug mit demselben Fehler auch fehl, wenn versucht wurde, die inkrementellen Sicherungen von Transaktionsprotokollen anzuwenden, nachdem die vollständige Sicherung wiederhergestellt wurde.
Bearbeiten:
Sie können diesem Link folgen, um dieselbe Frage mit etwas mehr Feedback zu SA zu sehen: http://sqlanywhere-forum.sybase.com/questions/4760/restoring-incrementallive-backup-failure