คำถามติดแท็ก data-synchronization

4
ซิงค์ฐานข้อมูล MySQL สองแห่งในตำแหน่งที่ต่างกันสองแห่ง
ฉันมีฐานข้อมูล MySQL สองฐานข้อมูลหนึ่งอยู่ในเซิร์ฟเวอร์ภายในและอีกหนึ่งฐานข้อมูลในเว็บโฮสติ้งเซิร์ฟเวอร์ ฉันต้องการอัพเดทฐานข้อมูลบนเว็บโฮสต์ในแต่ละวันด้วยฐานข้อมูลบนเซิร์ฟเวอร์ภายใน มีวิธีที่จะทำให้กระบวนการนี้เป็นแบบอัตโนมัติด้วยเช่นกันฉันจะทำสิ่งนี้ด้วยตนเองได้อย่างไร? ถ้าฉันจะทำด้วยตนเองมันต้องให้ฉันได้รับการถ่ายโอนข้อมูล SQL ของฐานข้อมูลบนเซิร์ฟเวอร์ภายในแล้วนำเข้าบนฐานข้อมูลบนเว็บโฮสต์หรือไม่ ได้คำแนะนำใครบางคนได้โปรด

4
การซิงค์สองฐานข้อมูลใน SQL Server
ฉันมีฐานข้อมูล SQL Server สองฐาน หนึ่งคือไคลเอนต์ (โปรแกรมประยุกต์ของ Windows) และที่สองอยู่บนเซิร์ฟเวอร์ ฉันต้องการซิงค์ฐานข้อมูลทั้งสองนี้บ่อยๆ (เช่นทุก 2 นาที!) ฉันได้อ่านเกี่ยวกับวิธีการซิงค์ที่แตกต่างกันเช่นการจำลอง, การประทับเวลา, ตารางบันทึกการใช้ทริกเกอร์, Microsoft Sync Framework และอื่น ๆ ที่จริงฉันไม่ชอบใช้วิธีการซิงค์ซึ่งอาจเป็นกล่องดำ (เช่นการจำลองแบบ) เพราะฉันไม่ต้องการให้ตารางเฉพาะของ SQL Server ถูกบล็อกในขณะที่ฉันกำลังอัปเดตและซิงค์กับเซิร์ฟเวอร์ วิธีใดที่คุณคิดว่าฉันควรใช้ในกรณีเช่นนี้? โปรดจำไว้ว่าทุก ๆ นาทีฉันต้องส่งการเปลี่ยนแปลงตารางหลายครั้งจากไคลเอนต์ไปยังเซิร์ฟเวอร์และดึงข้อมูลการเปลี่ยนแปลงสองตารางจากเซิร์ฟเวอร์ ฉันได้พบวิธีการที่แปลก แต่ใหม่ เป็นไปได้หรือไม่ที่ฉันจะบันทึกขั้นตอนการดำเนินการที่จัดเก็บไว้ทั้งหมด (สำหรับที่ต้องการ) ในไคลเอนต์และส่งพารามิเตอร์ที่มีใน.sqlไฟล์ไปยังเซิร์ฟเวอร์และดำเนินการที่นั่น? จะเกิดขึ้นบนเซิร์ฟเวอร์และส่งไปยังลูกค้า คุณคิดว่านี่เป็นวิธีที่ง่าย แต่มีประโยชน์หรือไม่? โปรดแนะนำวิธีการที่มีประโยชน์หากคุณทำได้ ขอบคุณมาก. แก้ไข: โปรดจำไว้ว่านี่เป็นการซิงโครไนซ์แบบเรียลไทม์และทำให้มันพิเศษ หมายความว่าเมื่อผู้ใช้ไคลเอ็นต์กำลังใช้ตารางกระบวนการซิงโครไนซ์กับเซิร์ฟเวอร์จะต้องเกิดขึ้นทุก ๆ นาทีดังนั้นจึงไม่มีการล็อกตารางใด ๆ

1
การซิงโครไนซ์โดยใช้ทริกเกอร์
ฉันมีข้อกำหนดคล้ายกับการสนทนาก่อนหน้านี้ที่: การเขียนโครงสร้างธนาคารอย่างง่าย: ฉันจะรักษายอดคงเหลือของฉันให้สอดคล้องกับประวัติการทำธุรกรรมได้อย่างไร ทริกเกอร์ร่วมกับการทำธุรกรรม ฉันมีสองตาราง[Account].[Balance]และ[Transaction].[Amount]: CREATE TABLE Account ( AccountID INT , Balance MONEY ); CREATE TABLE Transaction ( TransactionID INT , AccountID INT , Amount MONEY ); เมื่อมีการแทรก update หรือลบกับ[Transaction]ตารางที่ควรได้รับการปรับปรุงขึ้นอยู่กับ[Account].[Balance][Amount] ขณะนี้ฉันมีทริกเกอร์ให้ทำงานนี้: ALTER TRIGGER [dbo].[TransactionChanged] ON [dbo].[Transaction] AFTER INSERT, UPDATE, DELETE AS BEGIN IF EXISTS (select 1 from [Deleted]) OR …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.