ในบล็อกก่อนหน้านี้ ฉันได้พูดถึงวิธีการเริ่มต้นการจำลองแบบสำหรับฐานข้อมูลขนาดใหญ่โดยใช้การสำรองฐานข้อมูล ตอนนี้ฉันจะพูดถึงวิธีเพิ่มบทความใหม่และเริ่มต้นการจำลองธุรกรรมของ SQL Server ที่มีอยู่ซึ่งกำหนดค่าผ่านการสำรองข้อมูล
แนะนำตัว
โดยทั่วไป ผู้ใช้มักจะใช้เอเจนต์สแน็ปช็อตเพื่อเพิ่มบทความใหม่ลงในสิ่งพิมพ์หรือเริ่มต้นสมาชิกใหม่อีกครั้ง อย่างไรก็ตาม ในสถานการณ์สมมตินี้ ฉันได้กำหนดค่าการจำลองของทรานแซคชันโดยใช้การสำรองข้อมูลฐานข้อมูลแล้ว ต่อไปนี้เป็นขั้นตอนโดยละเอียด:
- เพิ่มบทความใหม่ลงในสิ่งพิมพ์ที่มีอยู่ซึ่งเริ่มต้นด้วยข้อมูลสำรอง
- เริ่มต้นสมาชิกใหม่ที่มีข้อมูลสำรองไว้แล้ว
สถานการณ์ที่ 1:วิธีเพิ่มบทความใหม่ลงใน สิ่งพิมพ์ที่มีอยู่ซึ่งเริ่มต้นด้วยการสำรองข้อมูล:
ในสถานการณ์สมมติของเรา การจำลองแบบธุรกรรมได้รับการกำหนดค่าโดยใช้ไฟล์สำรองดังนี้:
-ผู้จัดพิมพ์ + ผู้จัดจำหน่าย :Node1-สมาชิก :Node2-ฐานข้อมูลผู้เผยแพร่ :ABC_Pub-ฐานข้อมูลสมาชิก :ABC_Sub-สิ่งพิมพ์ :ABC_Pub_Bkp-สมัครสมาชิก :ABC_Sub_Bkp-บทความ :รถยนต์ จักรยาน
การเพิ่มบทความใหม่ลงในสิ่งพิมพ์ที่มีอยู่สามารถทำได้โดยการซิงโครไนซ์ข้อมูลด้วยตนเอง (ซึ่งเราจะพูดถึงขั้นตอนโดยละเอียด) ระหว่างผู้จัดพิมพ์และผู้สมัครสมาชิก
ภาพรวมขั้นตอนของกระบวนการ:
- ซิงโครไนซ์ข้อมูลสำหรับบทความใหม่จากผู้จัดพิมพ์ไปยังสมาชิกโดยใช้วิธีการนำเข้า/ส่งออกที่เป็นที่นิยม
- เพิ่มตารางใหม่ลงในฐานข้อมูลของผู้เผยแพร่และแทรกสองสามแถว
- เขียนสคริปต์สร้างคำจำกัดความสำหรับตารางใหม่และดำเนินการบนฐานข้อมูลสมาชิก
- ใช้วิธี export\import เพื่อซิงค์ข้อมูลระหว่างผู้เผยแพร่และผู้สมัครสมาชิก
- หยุดงานโปรแกรมอ่านบันทึกและตัวแทนผู้จัดจำหน่าย
- เพิ่มบทความใหม่ลงในสิ่งพิมพ์โดยใช้ GUI เพื่อให้การกำหนดค่าเสร็จสมบูรณ์
- เปิดใช้งานและเริ่มงานโปรแกรมอ่านบันทึกและตัวแทนผู้จัดจำหน่าย
- แทรกข้อมูลใหม่เกี่ยวกับผู้เผยแพร่
- ตรวจสอบข้อมูลบนสมาชิก
ขั้นตอนที่ 1:ซิงโครไนซ์ข้อมูลสำหรับบทความใหม่จากผู้จัดพิมพ์ไปยังสมาชิกโดยใช้ วิธีการนำเข้า/ส่งออก
ในการจำลองแบบที่มีอยู่ มีบทความสองบทความ และฉันจะสร้างตารางอีกสองตารางสำหรับฐานข้อมูลผู้เผยแพร่และเพิ่มลงในการจำลองในภายหลัง
บทความเกี่ยวกับการจำลองแบบที่มีอยู่:
ฉันได้สร้างตารางใหม่สองตารางในฐานข้อมูลผู้เผยแพร่และเพิ่มแถวสองสามแถวในแต่ละตาราง ตอนนี้สคริปต์สร้างคำจำกัดความสำหรับทั้งสองตารางและดำเนินการบนฐานข้อมูลสมาชิก
สร้างตารางใหม่สองตารางในฐานข้อมูลผู้เผยแพร่:
สร้างตารางบนสมาชิกโดยใช้คำจำกัดความจากผู้เผยแพร่:
ตอนนี้ให้ซิงค์ข้อมูลระหว่างผู้เผยแพร่และผู้สมัครสมาชิกโดยใช้วิธีการนำเข้า\ส่งออก:
คลิกขวาที่ฐานข้อมูลของผู้เผยแพร่ -> เลือกส่งออกข้อมูล -> ทำตามตัวช่วยสร้างเพื่อส่งข้อมูลที่จำเป็น
เลือกเซิร์ฟเวอร์ต้นทาง (ผู้เผยแพร่) และชื่อฐานข้อมูล:
ในขั้นตอนถัดไป เลือกเซิร์ฟเวอร์ปลายทาง (สมาชิก) และชื่อฐานข้อมูล:
เลือกชื่อตารางเพื่อโอนข้อมูลและคลิกถัดไป:
ในขั้นตอนต่อไป การส่งออกประสบความสำเร็จ:
กำลังตรวจสอบข้อมูล: อย่างที่คุณเห็น ข้อมูลได้รับการซิงค์ระหว่างผู้เผยแพร่และผู้สมัครสมาชิก
2. หยุดงานนักอ่านบันทึกและตัวแทนผู้จัดจำหน่าย–
การหยุดตัวแทนการจำลองแบบเป็นแนวทางปฏิบัติที่ดีที่สุดก่อนที่จะดำเนินการใดๆ กับบทความ
3. เพิ่มบทความใหม่ลงในสิ่งพิมพ์โดยใช้ GUI เพื่อกำหนดค่าให้สมบูรณ์
คลิกขวาที่สิ่งพิมพ์ภายใต้โฟลเดอร์การจำลองและเลือกคุณสมบัติ -> ไปที่หน้าบทความ -> ยกเลิกการเลือก แสดงเฉพาะบทความที่ตรวจสอบในรายการ -> เลือกบทความใหม่สองบทความภายใต้ วัตถุที่จะเผยแพร่ เช่น ประเทศและลูกค้าในกรณีของเรา และคลิก ตกลง เพื่อสิ้นสุดการกำหนดค่า
4. เปิดใช้งานและเริ่มงานโปรแกรมอ่านบันทึกและตัวแทนผู้จัดจำหน่าย –
เมื่อเอเจนต์ถูกเปิดใช้งานและเริ่มทำงาน เรกคอร์ดที่เพิ่มใหม่ควรถูกจับโดยตัวอ่านบันทึก จากนั้นทำซ้ำไปยังผู้สมัครสมาชิกโดยตัวแทนผู้จัดจำหน่าย ในขั้นตอนต่อไป ข้อมูลจะได้รับการตรวจสอบ
5. แทรกข้อมูลใหม่บนผู้เผยแพร่
ตอนนี้ฉันจะเพิ่มข้อมูลในตารางผู้เผยแพร่ทั้งสองเพื่อเพิ่มระเบียนอีก 5 รายการในแต่ละตาราง
6. ตรวจสอบข้อมูลบนสมาชิก:
โพสต์การตรวจสอบข้อมูล คุณจะเห็นว่ามีการเพิ่มระเบียนใหม่ 5 รายการ (รวมทั้งหมด 10 แถว) ในทั้งสองตาราง ซ้ำกับสมาชิกแล้ว
สถานะความสมบูรณ์ของการจำลอง:
สถานการณ์ที่ 2:วิธีเริ่มต้นสมาชิกใหม่ที่เริ่มต้นด้วยการสำรองข้อมูลอีกครั้ง
ย้ายไปยังสถานการณ์ที่สองซึ่งบางครั้งเราเหลือตัวเลือกสุดท้ายในการแก้ไขปัญหาการซิงโครไนซ์กับการจำลองแบบโดยการเริ่มต้นสมาชิกใหม่อีกครั้ง
ในกรณีของเรา เราได้เริ่มต้นการจำลองแบบผ่านการสำรองข้อมูล และต่อไปนี้คือขั้นตอนกระบวนการเพื่อเริ่มต้นสมาชิกใหม่
- หยุดงานอ่านบันทึก ตัวแทนจัดจำหน่าย และงานล้างข้อมูลผู้จัดจำหน่าย
- สำรองข้อมูลทั้งหมดสำหรับฐานข้อมูลผู้เผยแพร่และปิดใช้งานงานสำรองข้อมูล T-Log
- กู้คืนฐานข้อมูลบนฐานข้อมูลสมาชิกด้วยการแทนที่
- ตรวจสอบข้อมูล
- เรียกใช้ sp_addsubscription
- เปิดใช้งานตัวอ่านบันทึกและงานผู้จัดจำหน่าย แทรกบันทึกใหม่ในฐานข้อมูลของผู้เผยแพร่ และตรวจสอบความถูกต้องของข้อมูลบนสมาชิก
1. หยุดงานนักอ่านบันทึกและตัวแทนผู้จัดจำหน่าย
การหยุดตัวแทนการจำลองแบบเป็นแนวทางปฏิบัติที่ดีที่สุดก่อนที่จะดำเนินการใดๆ กับบทความ
2. สำรองข้อมูลทั้งหมดสำหรับฐานข้อมูลผู้เผยแพร่และปิดใช้งานงานสำรองข้อมูล T-Log
เรียกใช้การสำรองข้อมูลเต็มรูปแบบสำหรับฐานข้อมูล ABC_Pub บนเซิร์ฟเวอร์ของผู้เผยแพร่ และปิดใช้งานงานสำรองข้อมูล T-Log หากมี
3. กู้คืนฐานข้อมูลบนฐานข้อมูลสมาชิกด้วยการแทนที่และ norecovery
กู้คืนฐานข้อมูลสมาชิก ABC_Sub ด้วยการแทนที่:
4. ตรวจสอบข้อมูลระหว่างฐานข้อมูลผู้เผยแพร่และผู้สมัครสมาชิก
ข้อมูลได้รับการตรวจสอบแล้วและตามที่แสดงในภาพรวมต่อไปนี้ ทั้งตารางรถยนต์และจักรยานมีระเบียนละ 5 รายการ และตารางประเทศและลูกค้ามีระเบียนละ 10 รายการ
5. เรียกใช้ sp_addsubscription :
ตอนนี้ให้รันกระบวนงานที่เก็บไว้ต่อไปนี้ด้วยพารามิเตอร์ที่จำเป็นเพื่อเริ่มต้นสมาชิกใหม่
6. เปิดใช้งานโปรแกรมอ่านบันทึก ตัวแทนผู้จัดจำหน่าย และงานล้างข้อมูล แทรกระเบียนใหม่ในฐานข้อมูลของผู้เผยแพร่และตรวจสอบข้อมูลในผู้สมัครสมาชิก
เปิดใช้งานงานตัวแทนการจำลองแบบและเริ่มต้น:
แทรกอีก 5 ระเบียนในสองตารางที่จำลองแบบต่อไปนี้:
ตรวจสอบข้อมูลตอนนี้ในฐานข้อมูลสมาชิก:
การตรวจสอบเสร็จสมบูรณ์แล้ว และได้แทนที่ระเบียนที่เพิ่มใหม่ 5 รายการไปยังสมาชิก และขณะนี้ตารางทั้งหมดมีระเบียนละ 10 รายการ
ตรวจสุขภาพสำหรับการจำลองแบบ:
บทสรุป
ฉันหวังว่าคุณจะพบว่าสองสถานการณ์ที่กล่าวถึงข้างต้นมีประโยชน์สำหรับการเพิ่มบทความใหม่และการเริ่มต้นสมาชิกใหม่ซึ่งเริ่มต้นแล้วผ่านการสำรองข้อมูล
ใช้แท็บคำติชมเพื่อแสดงความคิดเห็นหรือถามคำถาม คุณสามารถเริ่มการสนทนากับเราได้เช่นกัน