ฉันต้องการทำซ้ำเนื้อหาของฐานข้อมูล MySQL เป็นฐานข้อมูล MS SQL Server 2008
เป็นไปได้ไหม ใครสามารถร่างขั้นตอนที่จำเป็นเพื่อให้บรรลุนี้
ขอบคุณ
ฉันต้องการทำซ้ำเนื้อหาของฐานข้อมูล MySQL เป็นฐานข้อมูล MS SQL Server 2008
เป็นไปได้ไหม ใครสามารถร่างขั้นตอนที่จำเป็นเพื่อให้บรรลุนี้
ขอบคุณ
คำตอบ:
โดยส่วนตัวแล้วฉันจะใช้วิธี MS SQL เปรียบเทียบกับวิธีการกดจาก MySQL ทำไม? Windows มีไดร์เวอร์ MySQL ODBC 32 บิตและ 64 บิตพร้อมที่จะไปและการตั้งค่าเซิร์ฟเวอร์ที่เชื่อมโยงเป็นเรื่องเล็กน้อย ฉันมีเซิร์ฟเวอร์ MySQL มากมายที่เชื่อมโยงกับจาก MS SQL นอกจากนี้การเชื่อมต่อกับ MS SQL จาก linux / unix นั้นยอดเยี่ยมและคุณไม่สามารถใช้คุณสมบัติทั้งหมดได้ FreeTDS มีข้อ จำกัด คุณอาจจะโจมตีพวกมันเร็วกว่านี้ในภายหลังดังนั้นทำไมไม่เพียงข้ามมันไป ทั้งหมดนี้ถือว่าคุณใช้งาน MySQL บน * ระวัง ถ้าไม่ใช่มันจะเข้าใกล้ 50/50 นิดหน่อย แต่ฉันก็ยังเลือกที่จะดึงจาก MS SQL เพราะดูเหมือนว่ามันไม่ใช่ฐานข้อมูล "สด" ดังนั้นการวางภาระให้กับ ETL หรือการประมวลผลนั้นเหมาะกว่า โซลูชัน GoldenGate ฟังดูน่าสนใจ แต่ฉันแน่ใจว่ามันฟรี
เมื่อพิจารณาฉันได้ติดตั้งสถานการณ์แบบนี้ทั้งฐานข้อมูล MySQL และ Oracle ที่จำลองเป็น MS SQL ฉันจะให้คำแนะนำที่ใช้งานได้ดีที่สุดสำหรับฉัน:
หวังว่าเคล็ดลับช่วย!
คำถามเดียวกันถูกส่งใน StackOverflow ที่นี่: การจำลองแบบจาก MySQL เพื่อ MSSQL
ดูเหมือนว่าจะมีวิธีแก้ไขปัญหาบางอย่าง แต่ไม่ใช่วิธีแก้ปัญหาที่ง่ายมาก
ฉันเชื่อว่าคุณควรลองสร้างแพคเกจ SSIS เพื่อนำเข้าข้อมูลที่จำเป็นจากฐานข้อมูล MySQL ไปยังฐานข้อมูล MSSQL SSIS อนุญาตให้นำเข้าข้อมูลจากแหล่งต่าง ๆ จากนั้นคุณควรจะสามารถกำหนดตารางเวลาของแพคเกจโดยใช้ตัวกำหนดเวลางาน windows หรืองาน sql
ถ้าเป็นการจำลองแบบคุณหมายถึงบันทึกการจัดส่งหรืออะไรทำนองนั้นฉันเชื่อว่าคุณไม่มีโชค อย่างไรก็ตามคุณสามารถตั้งค่าฐานข้อมูล MySQL เป็นเซิร์ฟเวอร์ที่เชื่อมโยงและหมุนชุดการจำลองแบบของคุณเอง ง่ายที่สุดคือทำสแน็ปช็อตเป็นระยะของตารางทั้งหมดโดยใช้การตัดและแทรกคำสั่ง เพิ่มความซับซ้อนตามข้อกำหนดของคุณ
คุณสามารถใช้ GoldenGate สำหรับMySQLและMS SQLได้ คุณเพียงแค่ติดตั้งผลิตภัณฑ์ GoldenGate ในแต่ละด้านจากนั้นดำเนินการจำลองแบบที่เป็นเนื้อเดียวกัน
อีกวิธีหนึ่งสำหรับการจำลองแบบ "snapshot" คุณสามารถใช้สคริปต์ Python (หรือคล้ายกัน) เพื่อเชื่อมต่อกับแหล่งข้อมูลทั้งสอง (โดยใช้UnixODBCและFreeTDSเพื่อเชื่อมต่อกับ MS SQL) วนรอบตารางที่ทำSELECT
ด้านเดียวสำหรับแต่ละแถวINSERT
ในที่อื่น ๆ ในฐานะที่เป็น MSSQL มีการทำธุรกรรมและเป็นเป้าหมายของคุณคุณสามารถเริ่มต้นการทำธุรกรรมDELETE
ทุกอย่างจากทุกตารางทำสำเนาจากนั้นCOMMIT
มันจะปรากฏขึ้นทันทีที่ผู้ใช้ที่เชื่อมต่อกับเป้าหมายมีความกังวลจะไม่มีความไม่สอดคล้องกัน แหล่งที่มาของหลักสูตร)