Sql Anywhere 11: Artımlı yedekleme hatasını geri yükleme


16

Tam bir yedeklemeden sonra uzaktan artımlı yedeklemeler oluşturmak istiyoruz. Bu, bir hata durumunda geri yüklememize ve SQL Anywhere ağ sunucuları ile mümkün olduğunca gerçek zamanlı yedeklemelere sahip başka bir makine getirmemize olanak tanır.

Aşağıdaki gibi tam bir yedekleme yapıyoruz:

dbbackup -y -c "eng=ServerName.DbName;uid=dba;pwd=sql;links=tcpip(host=ServerName)"
    c:\backuppath\full

Bu, veritabanı ve günlük dosyalarının bir yedeğini oluşturur ve beklendiği gibi geri yüklenebilir. Artımlı yedeklemeler için, birden fazla artımlı yedek varsa, yeniden adlandırma düzeniyle hem canlı hem de artımlı işlem günlüklerini denedim:

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

Ancak, geri yükleme işlem günlükleri uygulanırken her zaman işlem günlükleri veritabanına uygulanırken bir hata alıyorum:

10092: İşlem günlüğünde başvurulan tablo için tablo tanımı bulunamadı.

İşlem günlüğü geri yükleme komutu:

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

Hata, hangi tabloyu bulamadığını belirtmez, ancak bu kontrollü bir testtir ve hiçbir tablo oluşturulmuyor veya bırakılmıyor. Birkaç satır ekledikten sonra geri yüklemeye çalışmadan önce artımlı bir yedeklemeyi başlatıyorum.

Herkes Sql Anywhere 11 artımlı yedekleme ve geri yükleme yapmak için doğru yolu biliyor mu?

GÜNCELLEME: Bunun hedef veritabanının karmaşıklığı ile ilgili olabileceğini düşünerek yeni bir boş veritabanı ve şebeke servisi yaptım. Sonra iki sütunlu bir tablo ekledik ve birkaç satır ekledik. Tam bir yedekleme gerçekleştirdikten sonra birkaç satır ve işlem daha ekledi ve sildi, daha sonra artımlı bir yedekleme yaptı. Bu, tam yedeklemeyi geri yükledikten sonra işlem günlüklerinin artımlı yedeklerini uygulamaya çalışırken aynı hatayla başarısız oldu ...

Düzenle:

Aynı soruyu SA hakkında biraz daha fazla geri bildirim ile görmek için bu bağlantıyı takip edebilirsiniz : http://sqlanywhere-forum.sybase.com/questions/4760/restoring-incrementallive-backup-failure


Özellikle SQL Anywhere için bir Soru-Cevap sitesi olan sqlanywhere-forum.sybase com sitesine göz atmak isteyebilirsiniz.
Graeme Perrow

Teşekkürler ve vay be bu site inanılmaz derecede tanıdık görünüyor ... bir sybase etki alanı altında olmasına rağmen SO bağlı mı yoksa onlar aşırı akıl düşünecek mi?

Yanıtlar:


2

Yukarıdaki gönderide yer alan bilgilerin özetlenmesi ....

Kullandığınız komut canlı bir yedekleme içindir, ancak istediğiniz bir artımlı yedeklemedir. Kullanmak istediğiniz yaklaşım ( bu blog başına ) biraz farklı anahtarlar kullanır. -n -t -xAnahtarları ve -o bir günlük dosyası belirtmek için kullanın . Böylece komut şöyle bir şey çıkarır:

dbbackup -n -t -x -c "eng=ServerName.DbName;uid=dba;pwd=sql;links=tcpip(host=ServerName)" -o "c:\backup\backup_log.txt"
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.