Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> ฐานข้อมูล

การเพิ่มบทความใหม่และการเริ่มต้นการจำลองแบบธุรกรรมของ SQL Server ใหม่

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

แนะนำตัว

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

  1. เพิ่มบทความใหม่ลงในสิ่งพิมพ์ที่มีอยู่ซึ่งเริ่มต้นด้วยข้อมูลสำรอง
  2. เริ่มต้นสมาชิกใหม่ที่มีข้อมูลสำรองไว้แล้ว

สถานการณ์ที่ 1:วิธีเพิ่มบทความใหม่ลงใน สิ่งพิมพ์ที่มีอยู่ซึ่งเริ่มต้นด้วยการสำรองข้อมูล:

ในสถานการณ์สมมติของเรา การจำลองแบบธุรกรรมได้รับการกำหนดค่าโดยใช้ไฟล์สำรองดังนี้:

-ผู้จัดพิมพ์ + ผู้จัดจำหน่าย :Node1-สมาชิก :Node2-ฐานข้อมูลผู้เผยแพร่ :ABC_Pub-ฐานข้อมูลสมาชิก :ABC_Sub-สิ่งพิมพ์ :ABC_Pub_Bkp-สมัครสมาชิก :ABC_Sub_Bkp-บทความ :รถยนต์ จักรยาน

การเพิ่มบทความใหม่ลงในสิ่งพิมพ์ที่มีอยู่สามารถทำได้โดยการซิงโครไนซ์ข้อมูลด้วยตนเอง (ซึ่งเราจะพูดถึงขั้นตอนโดยละเอียด) ระหว่างผู้จัดพิมพ์และผู้สมัครสมาชิก

ภาพรวมขั้นตอนของกระบวนการ:

  1. ซิงโครไนซ์ข้อมูลสำหรับบทความใหม่จากผู้จัดพิมพ์ไปยังสมาชิกโดยใช้วิธีการนำเข้า/ส่งออกที่เป็นที่นิยม
  • เพิ่มตารางใหม่ลงในฐานข้อมูลของผู้เผยแพร่และแทรกสองสามแถว
  • เขียนสคริปต์สร้างคำจำกัดความสำหรับตารางใหม่และดำเนินการบนฐานข้อมูลสมาชิก
  • ใช้วิธี export\import เพื่อซิงค์ข้อมูลระหว่างผู้เผยแพร่และผู้สมัครสมาชิก
  1. หยุดงานโปรแกรมอ่านบันทึกและตัวแทนผู้จัดจำหน่าย
  2. เพิ่มบทความใหม่ลงในสิ่งพิมพ์โดยใช้ GUI เพื่อให้การกำหนดค่าเสร็จสมบูรณ์
  3. เปิดใช้งานและเริ่มงานโปรแกรมอ่านบันทึกและตัวแทนผู้จัดจำหน่าย
  4. แทรกข้อมูลใหม่เกี่ยวกับผู้เผยแพร่
  5. ตรวจสอบข้อมูลบนสมาชิก

ขั้นตอนที่ 1:ซิงโครไนซ์ข้อมูลสำหรับบทความใหม่จากผู้จัดพิมพ์ไปยังสมาชิกโดยใช้ วิธีการนำเข้า/ส่งออก

ในการจำลองแบบที่มีอยู่ มีบทความสองบทความ และฉันจะสร้างตารางอีกสองตารางสำหรับฐานข้อมูลผู้เผยแพร่และเพิ่มลงในการจำลองในภายหลัง

บทความเกี่ยวกับการจำลองแบบที่มีอยู่:

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

สร้างตารางใหม่สองตารางในฐานข้อมูลผู้เผยแพร่:

สร้างตารางบนสมาชิกโดยใช้คำจำกัดความจากผู้เผยแพร่:

ตอนนี้ให้ซิงค์ข้อมูลระหว่างผู้เผยแพร่และผู้สมัครสมาชิกโดยใช้วิธีการนำเข้า\ส่งออก:

คลิกขวาที่ฐานข้อมูลของผู้เผยแพร่ -> เลือกส่งออกข้อมูล -> ทำตามตัวช่วยสร้างเพื่อส่งข้อมูลที่จำเป็น

เลือกเซิร์ฟเวอร์ต้นทาง (ผู้เผยแพร่) และชื่อฐานข้อมูล:

ในขั้นตอนถัดไป เลือกเซิร์ฟเวอร์ปลายทาง (สมาชิก) และชื่อฐานข้อมูล:

เลือกชื่อตารางเพื่อโอนข้อมูลและคลิกถัดไป:

ในขั้นตอนต่อไป การส่งออกประสบความสำเร็จ:

กำลังตรวจสอบข้อมูล: อย่างที่คุณเห็น ข้อมูลได้รับการซิงค์ระหว่างผู้เผยแพร่และผู้สมัครสมาชิก

2. หยุดงานนักอ่านบันทึกและตัวแทนผู้จัดจำหน่าย–

การหยุดตัวแทนการจำลองแบบเป็นแนวทางปฏิบัติที่ดีที่สุดก่อนที่จะดำเนินการใดๆ กับบทความ

3. เพิ่มบทความใหม่ลงในสิ่งพิมพ์โดยใช้ GUI เพื่อกำหนดค่าให้สมบูรณ์

คลิกขวาที่สิ่งพิมพ์ภายใต้โฟลเดอร์การจำลองและเลือกคุณสมบัติ -> ไปที่หน้าบทความ -> ยกเลิกการเลือก แสดงเฉพาะบทความที่ตรวจสอบในรายการ -> เลือกบทความใหม่สองบทความภายใต้ วัตถุที่จะเผยแพร่ เช่น ประเทศและลูกค้าในกรณีของเรา และคลิก ตกลง เพื่อสิ้นสุดการกำหนดค่า

4. เปิดใช้งานและเริ่มงานโปรแกรมอ่านบันทึกและตัวแทนผู้จัดจำหน่าย –

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

5. แทรกข้อมูลใหม่บนผู้เผยแพร่

ตอนนี้ฉันจะเพิ่มข้อมูลในตารางผู้เผยแพร่ทั้งสองเพื่อเพิ่มระเบียนอีก 5 รายการในแต่ละตาราง

6. ตรวจสอบข้อมูลบนสมาชิก:

โพสต์การตรวจสอบข้อมูล คุณจะเห็นว่ามีการเพิ่มระเบียนใหม่ 5 รายการ (รวมทั้งหมด 10 แถว) ในทั้งสองตาราง ซ้ำกับสมาชิกแล้ว

สถานะความสมบูรณ์ของการจำลอง:

สถานการณ์ที่ 2:วิธีเริ่มต้นสมาชิกใหม่ที่เริ่มต้นด้วยการสำรองข้อมูลอีกครั้ง

ย้ายไปยังสถานการณ์ที่สองซึ่งบางครั้งเราเหลือตัวเลือกสุดท้ายในการแก้ไขปัญหาการซิงโครไนซ์กับการจำลองแบบโดยการเริ่มต้นสมาชิกใหม่อีกครั้ง

ในกรณีของเรา เราได้เริ่มต้นการจำลองแบบผ่านการสำรองข้อมูล และต่อไปนี้คือขั้นตอนกระบวนการเพื่อเริ่มต้นสมาชิกใหม่

  1. หยุดงานอ่านบันทึก ตัวแทนจัดจำหน่าย และงานล้างข้อมูลผู้จัดจำหน่าย
  2. สำรองข้อมูลทั้งหมดสำหรับฐานข้อมูลผู้เผยแพร่และปิดใช้งานงานสำรองข้อมูล T-Log
  3. กู้คืนฐานข้อมูลบนฐานข้อมูลสมาชิกด้วยการแทนที่
  4. ตรวจสอบข้อมูล
  5. เรียกใช้ sp_addsubscription
  6. เปิดใช้งานตัวอ่านบันทึกและงานผู้จัดจำหน่าย แทรกบันทึกใหม่ในฐานข้อมูลของผู้เผยแพร่ และตรวจสอบความถูกต้องของข้อมูลบนสมาชิก

1. หยุดงานนักอ่านบันทึกและตัวแทนผู้จัดจำหน่าย

การหยุดตัวแทนการจำลองแบบเป็นแนวทางปฏิบัติที่ดีที่สุดก่อนที่จะดำเนินการใดๆ กับบทความ

2. สำรองข้อมูลทั้งหมดสำหรับฐานข้อมูลผู้เผยแพร่และปิดใช้งานงานสำรองข้อมูล T-Log

เรียกใช้การสำรองข้อมูลเต็มรูปแบบสำหรับฐานข้อมูล ABC_Pub บนเซิร์ฟเวอร์ของผู้เผยแพร่ และปิดใช้งานงานสำรองข้อมูล T-Log หากมี

3. กู้คืนฐานข้อมูลบนฐานข้อมูลสมาชิกด้วยการแทนที่และ norecovery

กู้คืนฐานข้อมูลสมาชิก ABC_Sub ด้วยการแทนที่:

4. ตรวจสอบข้อมูลระหว่างฐานข้อมูลผู้เผยแพร่และผู้สมัครสมาชิก

ข้อมูลได้รับการตรวจสอบแล้วและตามที่แสดงในภาพรวมต่อไปนี้ ทั้งตารางรถยนต์และจักรยานมีระเบียนละ 5 รายการ และตารางประเทศและลูกค้ามีระเบียนละ 10 รายการ

5. เรียกใช้ sp_addsubscription :

ตอนนี้ให้รันกระบวนงานที่เก็บไว้ต่อไปนี้ด้วยพารามิเตอร์ที่จำเป็นเพื่อเริ่มต้นสมาชิกใหม่

6. เปิดใช้งานโปรแกรมอ่านบันทึก ตัวแทนผู้จัดจำหน่าย และงานล้างข้อมูล แทรกระเบียนใหม่ในฐานข้อมูลของผู้เผยแพร่และตรวจสอบข้อมูลในผู้สมัครสมาชิก

เปิดใช้งานงานตัวแทนการจำลองแบบและเริ่มต้น:

แทรกอีก 5 ระเบียนในสองตารางที่จำลองแบบต่อไปนี้:

ตรวจสอบข้อมูลตอนนี้ในฐานข้อมูลสมาชิก:

การตรวจสอบเสร็จสมบูรณ์แล้ว และได้แทนที่ระเบียนที่เพิ่มใหม่ 5 รายการไปยังสมาชิก และขณะนี้ตารางทั้งหมดมีระเบียนละ 10 รายการ

ตรวจสุขภาพสำหรับการจำลองแบบ:

บทสรุป

ฉันหวังว่าคุณจะพบว่าสองสถานการณ์ที่กล่าวถึงข้างต้นมีประโยชน์สำหรับการเพิ่มบทความใหม่และการเริ่มต้นสมาชิกใหม่ซึ่งเริ่มต้นแล้วผ่านการสำรองข้อมูล

ใช้แท็บคำติชมเพื่อแสดงความคิดเห็นหรือถามคำถาม คุณสามารถเริ่มการสนทนากับเราได้เช่นกัน