Sql Anywhere 11: Memulihkan kegagalan cadangan tambahan

16

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

Kin Shah
sumber
Anda mungkin ingin memeriksa sqlanywhere-forum.sybase com, situs tanya jawab khusus untuk SQL Anywhere.
Graeme Perrow
Terima kasih dan wow situs itu terlihat sangat familier ... apakah ini berafiliasi meskipun itu di bawah domain sybase atau Anda pikir mereka akan terlalu keberatan?

Jawaban:

2

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 -xsakelar, dan -o untuk menentukan file log. Jadi perintahnya berakhir seperti:

dbbackup -n -t -x -c "eng=ServerName.DbName;uid=dba;pwd=sql;links=tcpip(host=ServerName)" -o "c:\backup\backup_log.txt"
Chris Travers
sumber