เรามีระบบใหม่ที่ทำงานบน SQL Server 2008 r2 64-bit มีฐานข้อมูลการประมวลผลธุรกรรมออนไลน์ (OLTP) หลักที่ยอมรับการอัปเดตปริมาณมากจากระบบขายหน้าร้านหลายพันระบบที่ร้านค้าทั่วประเทศ เพื่อปกป้องฟังก์ชันที่สำคัญนี้ ฉันได้ตัดสินใจที่จะแนะนำเซิร์ฟเวอร์ฐานข้อมูลการรายงานเฉพาะ - ซึ่งผู้ใช้หลายคนจะเรียกใช้รายงานที่ค่อนข้างซับซ้อน

ฉันรู้ว่ามีตัวเลือกมากมาย แต่ฉันตัดสินใจใช้การจำลองธุรกรรมเป็นกลไกในการคัดลอกข้อมูลจากฐานข้อมูล OLTP ไปยังฐานข้อมูลการรายงานใหม่ - การจำลองแบบทางเดียว

การแก้ปัญหาทำงานได้ดีในการทดสอบ ฉันกำลังถูกถามถึงการเปลี่ยนแปลงที่จำเป็นในนโยบายการสำรองข้อมูลเพื่อให้ครอบคลุมการเปลี่ยนแปลงทางสถาปัตยกรรม ฉันได้อ่านหน้าต่างๆ เช่นMSDN:Strategies for Backing Up and Restoreing Snapshot และ Transactional Replicationแต่ฉันคิดว่าสิ่งเหล่านี้เกินความสามารถสำหรับโซลูชันของฉัน อันที่จริง ความคิดปัจจุบันของฉันคือเราเพียงแค่ต้องสำรองข้อมูลและบันทึก OLTP ต่อไป หากฐานข้อมูลการรายงานหรือฐานข้อมูลการจำลองแบบระบบใดๆ (เช่น การแจกจ่าย) ล้มเหลว ก็ไม่ใช่เรื่องใหญ่ เราสามารถล้างข้อมูลทั้งหมดออกแล้วสร้างการจำลองขึ้นมาใหม่ ฉันรู้ว่าการถ่ายภาพ OLTP ทั้งหมดจะใช้เวลานาน (ประมาณ 5 ชั่วโมง) แต่ฉันจะรู้สึกผ่อนคลายมากกว่านี้ที่พยายามกู้คืนข้อมูลสำรองของข้อมูลต่างๆ และไฟล์บันทึกตามลำดับที่ถูกต้อง

มุมมองของฉันคือกลยุทธ์ที่ซับซ้อนที่กำหนดไว้ในบทความ MSDN จะเป็นวิธีการแก้ปัญหาการจำลองแบบที่ซับซ้อนมากกว่าที่ฉันมีอยู่เท่านั้น เช่น หากมีสมาชิกหลายคนที่มีการจำลองแบบ 2 ทาง

คุณจะตกลงไหม ฉันจะขอบคุณสำหรับคำแนะนำใด ๆ

ขอบคุณมาก,

ปล้น.,

answer

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

คุณสามารถสร้างสคริปต์การตั้งค่าการจำลองแบบได้ง่ายๆ ผ่าน SSMS Wizard ซึ่งจะช่วยให้คุณปรับแต่งและกำหนดค่าการตั้งค่าการจำลองแบบในสภาพแวดล้อม Dev/Test ในอนาคต และสำรองข้อมูลการกำหนดค่าปัจจุบันของคุณ

การจำลองแบบสามารถกินผ่าน LOG Disk ของคุณอย่างฉาวโฉ่ หาก Replication Stalls ด้วยเหตุผลบางประการ ..แต่หากคุณมีการแจ้งเตือนด้วยตนเองหรือโดยอัตโนมัติเพื่อติดตามพื้นที่ว่างในดิสก์และสถานะการจำลอง คุณไม่ควรมีข้อกังวลใดๆ

ขอให้โชคดี - แต่ในใจของฉัน การสำรองข้อมูลต้องการในการจำลองธุรกรรมขั้นพื้นฐาน ไม่ควรต้องใช้กลยุทธ์เพิ่มเติมใดๆ

ในสภาพแวดล้อมของเรา ฉันมีการตั้งค่าคล้ายกับที่คุณเสนอ ฉันยอมรับว่าขั้นตอนในการกู้คืนฐานข้อมูลเพื่อให้การจำลองแบบสอดคล้องกันนั้นค่อนข้างยุ่งยาก และฉันก็ค่อนข้างจะสร้างการจำลองแบบขึ้นมาใหม่หากมีปัญหาร้ายแรง แต่ฉันยังคงสำรองฐานข้อมูลรายงาน

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