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 หรือไม่?

UPDATE: การคิดว่าอาจเกี่ยวข้องกับความซับซ้อนของฐานข้อมูลเป้าหมายฉันได้สร้างฐานข้อมูลเปล่าและบริการเครือข่ายใหม่ จากนั้นเพิ่มหนึ่งตารางที่มีสองคอลัมน์และแทรกสองสามแถว สร้างการสำรองข้อมูลเต็มรูปแบบจากนั้นแทรกและลบอีกสองสามแถวและธุรกรรมที่ทำไว้จากนั้นทำการสำรองข้อมูลเพิ่มเติม สิ่งนี้ก็ล้มเหลวด้วยข้อผิดพลาดเดียวกันเมื่อพยายามใช้การสำรองข้อมูลเพิ่มเติมของบันทึกธุรกรรมหลังจากกู้คืนข้อมูลสำรองทั้งหมด ...

แก้ไข:

คุณสามารถไปที่ลิงค์นี้เพื่อดูคำถามเดียวกันพร้อมข้อเสนอแนะเพิ่มเติมเล็กน้อยเกี่ยวกับ SA: http://sqlanywhere-forum.sybase.com/questions/4760/restoring-incrementallive-backup-failure


คุณอาจต้องการตรวจสอบ sqlanywhere-forum.sybase com ซึ่งเป็นเว็บไซต์คำถาม & คำตอบสำหรับ SQL Anywhere โดยเฉพาะ
แกรมเพอร์โรว์

ขอบคุณและว้าวไซต์นั้นดูคุ้นเคยอย่างไม่น่าเชื่อ ... มีเครือข่ายดังนั้นแม้ว่าจะอยู่ภายใต้โดเมน 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.