ผลกระทบของการเปลี่ยนระดับความเข้ากันได้ของฐานข้อมูลสำหรับฐานข้อมูลที่จำลองแบบที่เผยแพร่จาก 90 เป็น 100


11

ฉันมีเซิร์ฟเวอร์ SQL Server 2008 R2 ที่มีฐานข้อมูลที่เผยแพร่ซึ่งปัจจุบันทำงานภายใต้ระดับความเข้ากันได้ 90 (2005)

ฐานข้อมูลการสมัครสมาชิกเป็น SQL Server 2008 R2 ด้วยอย่างไรก็ตามฐานข้อมูลปลายทางจะถูกตั้งค่าเป็นระดับความเข้ากันได้ 100 และการจำลองแบบทำงานได้ดี

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

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

เป็นกรณีนี้หรือไม่?


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

เหตุผลหลักที่ฉันต้องการเปลี่ยนพวกเขาคือฐานข้อมูลและเซิร์ฟเวอร์ที่พวกเขานั่งอยู่เพิ่งได้รับการอัพเกรดจากกล่องโหนดเดียว 2005 เป็นคลัสเตอร์หลายโหนด 2008R2 นอกจากนี้ยังมีฟังก์ชั่นอื่น ๆ อีกเล็กน้อย (เช่น MERGE และอื่น ๆ ) ที่ฉันต้องการเริ่มใช้งาน
บ๊อบ

1
คุณอาจต้องการอ่านคำถามนี้เกี่ยวกับระดับความเข้ากันได้: dba.stackexchange.com/questions/5166/ …
Jon Seigel

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

คำตอบ:


4

คุณสามารถทำตามขั้นตอนด้านล่าง:

  • ตรวจสอบให้แน่ใจว่า Log Reader Agent กำลังทำงานสำหรับฐานข้อมูล โดยค่าเริ่มต้นตัวแทนทำงานอย่างต่อเนื่อง
  • หยุดกิจกรรมของผู้ใช้บนตารางที่เผยแพร่
  • ให้เวลาสำหรับ Log Reader Agent เพื่อคัดลอกธุรกรรมไปยังฐานข้อมูลการกระจายแล้วหยุดตัวแทน
  • ดำเนินการ sp_replcmds เพื่อตรวจสอบว่าธุรกรรมทั้งหมดได้รับการประมวลผลแล้ว ชุดผลลัพธ์จากขั้นตอนนี้ควรว่างเปล่า
  • ดำเนินการ sp_replflush เพื่อปิดการเชื่อมต่อจาก sp_replcmds
  • เปลี่ยนระดับความเข้ากันได้ของฐานข้อมูล
  • เริ่มตัวแทนผู้อ่านบันทึก

ฉันมีการตั้งค่าที่คล้ายกันมากและต้องการทำสิ่งเดียวกัน แต่ฐานข้อมูลการกระจายของฉันยังอยู่ใน 90 โหมดความเข้ากันได้ จากสิ่งที่ฉันเข้าใจผู้จัดจำหน่ายไม่สามารถทำงานในโหมดความเข้ากันได้ที่ต่ำกว่าในฐานะผู้เผยแพร่ คำสั่งของการดำเนินการจะเป็นเพียงแค่แทรก "เปลี่ยนระดับความเข้ากันได้ของผู้จัดจำหน่าย" ก่อน "เปลี่ยนระดับความเข้ากันได้ของฐานข้อมูล (เผยแพร่)" - หลังจากปิดตัวอ่านบันทึกแล้ว
Queue Mann

@QueueMann "Change compatibility level of distributor" before "Change the compatibility level of the (published) database"ที่ถูกต้อง ฐานข้อมูลการกระจายควรอยู่ในระดับเดียวกันหรือสูงกว่าความเข้ากันได้ของผู้เผยแพร่ ผู้เผยแพร่สามารถอยู่ในระดับเดียวกันหรือต่ำกว่าผู้จัดจำหน่าย
Kin Shah

2

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.