Kami ingin membuat cadangan inkremental jarak jauh setelah cadangan penuh. Ini akan memungkinkan kami untuk memulihkan jika terjadi kegagalan dan membuka komputer lain dengan sedekat mungkin dengan pencadangan seketika dengan server jaringan SQL Anywhere.
Kami melakukan pencadangan penuh sebagai berikut:
dbbackup -y -c "eng=ServerName.DbName;uid=dba;pwd=sql;links=tcpip(host=ServerName)"
c:\backuppath\full
Ini membuat cadangan dari database dan file log dan dapat dikembalikan seperti yang diharapkan. Untuk cadangan inkremental, saya sudah mencoba log transaksi langsung dan inkremental dengan skema penggantian nama jika ada beberapa backup inkremental:
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
Namun, saat menerapkan log transaksi pada pengembalian, saya selalu menerima kesalahan saat menerapkan log transaksi ke database:
10092: Tidak dapat menemukan definisi tabel untuk tabel yang direferensikan dalam log transaksi
Perintah pemulihan log transaksi adalah:
dbeng11 "c:\dbpath\dbname.db" -a "c:\backuppath\dbname.log"
Kesalahan tidak menentukan tabel apa yang tidak dapat ditemukannya tetapi ini adalah tes terkontrol dan tidak ada tabel yang dibuat atau dihapus. Saya menyisipkan beberapa baris lalu memulai cadangan tambahan sebelum mencoba memulihkan.
Adakah yang tahu cara yang benar untuk melakukan backup dan restore tambahan pada Sql Anywhere 11?
UPDATE: Berpikir itu mungkin terkait dengan kompleksitas database target saya membuat database kosong baru dan layanan jaringan. Kemudian menambahkan satu tabel dengan dua kolom dan menyisipkan beberapa baris. Membuat cadangan lengkap, lalu memasukkan dan menghapus beberapa baris lagi dan melakukan transaksi, lalu membuat cadangan tambahan. Ini juga gagal dengan kesalahan yang sama ketika mencoba untuk menerapkan cadangan tambahan dari log transaksi setelah memulihkan cadangan penuh ...
Edit:
Anda dapat mengikuti tautan ini untuk melihat pertanyaan yang sama dengan umpan balik sedikit lebih banyak pada SA: http://sqlanywhere-forum.sybase.com/questions/4760/restoring-incrementallive-backup-failure
sumber
Jawaban:
Merangkum informasi yang ditautkan ke dalam pos di atas ....
Perintah yang Anda gunakan adalah untuk cadangan langsung tetapi yang Anda inginkan adalah cadangan tambahan. Pendekatan yang ingin Anda gunakan (per blog ini ) menggunakan sakelar yang agak berbeda. Anda ingin menggunakan
-n -t -x
sakelar, dan -o untuk menentukan file log. Jadi perintahnya berakhir seperti:sumber