การแบ่งปันข้อมูลที่เกี่ยวข้องระหว่างระบบที่แยกได้มีความสำคัญมากขึ้นสำหรับองค์กรเนื่องจากช่วยให้สามารถปรับปรุงคุณภาพและความพร้อมใช้งานของข้อมูลได้ มีหลายสถานการณ์ที่มีประโยชน์ในการมีชุดข้อมูลที่พร้อมใช้งานและสอดคล้องกันในเซิร์ฟเวอร์ไดเร็กทอรีมากกว่าหนึ่งตัว นั่นคือเหตุผลที่ต้องรู้วิธีการทั่วไปในการแสดง เซิร์ฟเวอร์ SQL การซิงโครไนซ์ข้อมูลเป็นสิ่งสำคัญ
ความพร้อมใช้งานและความสอดคล้องของข้อมูลสามารถทำได้โดยการจำลองข้อมูลและกระบวนการซิงโครไนซ์ข้อมูล การจำลองข้อมูลเป็นกระบวนการสร้างสำเนาฐานข้อมูลที่ซ้ำซ้อนอย่างน้อยหนึ่งชุดเพื่อวัตถุประสงค์ในการยอมรับข้อผิดพลาดหรือการปรับปรุงการเข้าถึง การซิงโครไนซ์ข้อมูลเป็นกระบวนการสร้างความสอดคล้องของข้อมูลระหว่างสองฐานข้อมูลขึ้นไปและการอัปเดตอย่างต่อเนื่องในภายหลังเพื่อรักษาความสอดคล้องดังกล่าว
ในหลายองค์กรการดำเนินการซิงโครไนซ์ข้อมูลในระบบต่างๆเป็นสิ่งที่พึงปรารถนาและท้าทาย เราสามารถพบกรณีการใช้งานมากมายที่เราจำเป็นต้องทำการซิงโครไนซ์ข้อมูล:
ไม่มีวิธีพิเศษหรือวิธีการที่ตกลงกันเป็นเอกฉันท์สำหรับการซิงโครไนซ์ข้อมูล งานนี้แตกต่างกันไปในแต่ละกรณีและแม้กระทั่งการซิงโครไนซ์ข้อมูลที่ควรจะง่ายในตอนแรกอาจมีความซับซ้อนเนื่องจากโครงสร้างข้อมูลมีความซับซ้อน ในสถานการณ์จริงการซิงโครไนซ์ข้อมูลประกอบด้วยงานที่ซับซ้อนมากมายซึ่งอาจใช้เวลานานในการดำเนินการ เมื่อมีข้อกำหนดใหม่ขึ้นผู้เชี่ยวชาญด้านฐานข้อมูลมักจะต้องนำกระบวนการซิงโครไนซ์ทั้งหมดมาใช้ใหม่ เนื่องจากไม่มีวิธีมาตรฐานในการทำเช่นนี้นอกจากการจำลองแบบแล้วการใช้งานการซิงโครไนซ์ข้อมูลจึงไม่ค่อยเหมาะสม ส่งผลให้ดูแลรักษายากและมีค่าใช้จ่ายสูงขึ้น การใช้งานและการบำรุงรักษาการซิงโครไนซ์ข้อมูลเป็นกระบวนการที่ใช้เวลานานอาจเป็นงานเต็มเวลาได้ด้วยตัวเอง
เราสามารถใช้สถาปัตยกรรมสำหรับงานซิงโครไนซ์ข้อมูลด้วยตนเองโดยอาจใช้ Microsoft Sync Framework หรือเราจะได้รับประโยชน์จากโซลูชันที่สร้างไว้แล้วภายในเครื่องมือสำหรับจัดการ Microsoft SQL Server เราจะพยายามอธิบายวิธีการและเครื่องมือทั่วไปที่สามารถใช้เพื่อแก้ปัญหาการซิงโครไนซ์ข้อมูลบนฐานข้อมูล Microsoft SQL Server และพยายามให้คำแนะนำ
จากโครงสร้างของต้นทางและปลายทาง (เช่นฐานข้อมูลตาราง) เราสามารถแยกความแตกต่างกรณีการใช้งานเมื่อโครงสร้างมีความเหมือนหรือแตกต่างกัน
กรณีนี้มักเกิดขึ้นเมื่อเราใช้ข้อมูลในขั้นตอนต่างๆของวงจรการพัฒนาซอฟต์แวร์ ตัวอย่างเช่นโครงสร้างข้อมูลในสภาพแวดล้อมการทดสอบและการผลิตมีความคล้ายคลึงกันมาก ข้อกำหนดทั่วไปคือการเปรียบเทียบข้อมูลระหว่างฐานข้อมูลการทดสอบและการผลิตและนำเข้าข้อมูลจากการผลิตไปยังฐานข้อมูลการทดสอบ
หากโครงสร้างแตกต่างกันการซิงโครไนซ์จะซับซ้อนมากขึ้น นอกจากนี้ยังเป็นงานที่เกิดซ้ำบ่อยขึ้น กรณีทั่วไปคือการนำเข้าจากฐานข้อมูลหนึ่งไปยังอีกฐานข้อมูล กรณีที่พบบ่อยที่สุดคือเมื่อซอฟต์แวร์ชิ้นหนึ่งต้องการนำเข้าข้อมูลจากซอฟต์แวร์อื่นซึ่งดูแลโดย บริษัท อื่น โดยปกติแล้วการนำเข้าจำเป็นต้องเรียกใช้โดยอัตโนมัติตามกำหนดเวลา
วิธีที่ใช้ขึ้นอยู่กับความชอบส่วนบุคคลและความซับซ้อนของปัญหาที่คุณต้องแก้ไข
ไม่ว่าโครงสร้างจะคล้ายกันแค่ไหนเราสามารถเลือกวิธีแก้ปัญหาการซิงโครไนซ์ข้อมูลได้สี่วิธี:
วิธีแก้ปัญหาที่ตรงไปตรงมาและน่าเบื่อที่สุดคือการเขียนสคริปต์ SQL ด้วยตนเองสำหรับการซิงโครไนซ์
INSERT
, UPDATE
และ DELETE
INSERT
, UPDATE
และบางครั้งก็เป็น DELETE
)เราจะทำการซิงโครไนซ์ระหว่างตาราง Source
กับคอลัมน์ ID
และ Value
และตาราง Target
ที่มีคอลัมน์เดียวกัน
หากตารางมีคีย์หลักเดียวกันและตารางเป้าหมายไม่มีคีย์หลักที่เพิ่มขึ้นอัตโนมัติ (เอกลักษณ์) คุณสามารถเรียกใช้สคริปต์การซิงโครไนซ์ต่อไปนี้
อินเทอร์เน็ตบ้านอัจฉริยะของสิ่งต่าง ๆ
-- insert INSERT INTO Target (ID, Value) SELECT ID, Value FROM Source WHERE NOT EXISTS (SELECT * FROM Target WHERE Target.ID = Source.ID); -- update UPDATE Target SET Value = Source.Value FROM Target INNER JOIN Source ON Target.ID = Source.ID -- delete DELETE FROM Target WHERE NOT EXISTS (SELECT * FROM Source WHERE Target.ID = Source.ID)
ในวิธีนี้เราสามารถใช้เครื่องมือเพื่อเปรียบเทียบระหว่างข้อมูลต้นทางและข้อมูลเป้าหมาย กระบวนการเปรียบเทียบสร้างสคริปต์ SQL ที่ใช้ความแตกต่างจากฐานข้อมูลต้นทางไปยังฐานข้อมูลเป้าหมาย
มีโปรแกรมจำนวนมากสำหรับการเปรียบเทียบและซิงโครไนซ์ข้อมูล โปรแกรมเหล่านี้ส่วนใหญ่ใช้แนวทางเดียวกัน ผู้ใช้เลือกแหล่งที่มาและฐานข้อมูลเป้าหมาย แต่ทางเลือกอื่นอาจเป็นการสำรองฐานข้อมูลโฟลเดอร์ที่มีสคริปต์ SQL หรือแม้แต่การเชื่อมต่อกับระบบควบคุมแหล่งที่มา
ด้านล่างนี้เป็นเครื่องมือยอดนิยมที่ใช้วิธีเปรียบเทียบข้อมูล:
ในขั้นตอนแรกข้อมูลจะถูกอ่านหรือเพียงแค่ตรวจสอบข้อมูลขนาดใหญ่จากแหล่งที่มาและจากเป้าหมายจะถูกอ่าน จากนั้นกระบวนการเปรียบเทียบจะดำเนินการ
เครื่องมือเหล่านี้ยังมีการตั้งค่าเพิ่มเติมสำหรับการซิงโครไนซ์
เราจำเป็นต้องตั้งค่าตัวเลือกการกำหนดค่าต่อไปนี้ที่จำเป็นสำหรับการซิงโครไนซ์ข้อมูล:
โดยค่าเริ่มต้นคีย์หลักหรือ UNIQUE
ใช้ข้อ จำกัด หากไม่มีคีย์หลักคุณสามารถเลือกคอลัมน์ร่วมกันได้ คีย์ Sync ใช้เพื่อจับคู่แถวของแหล่งที่มากับแถวของเป้าหมาย
โดยค่าเริ่มต้นตารางจะจับคู่ตามชื่อ คุณสามารถเปลี่ยนสิ่งนี้และจับคู่ตามความต้องการของคุณเอง ในซอฟต์แวร์ dbForge Data Compare คุณสามารถเลือก SQL query ให้เป็นต้นทางหรือปลายทางได้
เครื่องชั่งประเภทนี้มีองค์ประกอบที่มาจากจุดศูนย์กลาง หรือสร้างจุดโฟกัสที่ศูนย์กลาง
หลังจากยืนยันแล้วเครื่องมือจะเปรียบเทียบข้อมูลแหล่งที่มาและเป้าหมาย กระบวนการทั้งหมดประกอบด้วยการดาวน์โหลดแหล่งที่มาและข้อมูลเป้าหมายทั้งหมดและเปรียบเทียบตามเกณฑ์ที่กำหนด โดยค่าเริ่มต้นจะเปรียบเทียบค่าจากตารางและคอลัมน์ที่มีชื่อเท่ากัน เครื่องมือทั้งหมดรองรับคอลัมน์การแมปและชื่อตาราง นอกจากนี้ยังมีความเป็นไปได้ที่จะยกเว้น IDENTITY
(autoincrement) คอลัมน์หรือทำการแปลงบางอย่างก่อนที่จะเปรียบเทียบค่า (ประเภท round float, ละเว้นตัวพิมพ์เล็ก, ถือว่า NULL
เป็นสตริงว่าง ฯลฯ ) การดาวน์โหลดข้อมูลได้รับการปรับให้เหมาะสม หากปริมาณข้อมูลมีมากระบบจะดาวน์โหลดเช็คซัมเท่านั้น การเพิ่มประสิทธิภาพนี้มีประโยชน์ในกรณีส่วนใหญ่ แต่ข้อกำหนดด้านเวลาในการดำเนินการจะเพิ่มขึ้นตามปริมาณข้อมูล
ในขั้นตอนถัดไปมีสคริปต์ SQL ที่สร้างการโอนย้าย สคริปต์นี้สามารถบันทึกหรือเรียกใช้โดยตรง เพื่อความปลอดภัยเราสามารถสำรองฐานข้อมูลก่อนที่จะเรียกใช้สคริปต์นี้ เครื่องมือ ApexSQL Data Diff สามารถสร้างโปรแกรมปฏิบัติการซึ่งรันสคริปต์บนฐานข้อมูลที่เลือก สคริปต์นี้มีข้อมูลที่จำเป็นต้องเปลี่ยนแปลงไม่ใช่ตรรกะในการเปลี่ยนแปลง ซึ่งหมายความว่าไม่สามารถรันสคริปต์โดยอัตโนมัติเพื่อให้การนำเข้าที่เกิดซ้ำได้ นั่นคือข้อเสียที่สุดของแนวทางนี้
ด้านล่างนี้คุณจะเห็น UI ทั่วไปของเครื่องมือเหล่านี้
วิธีนี้คล้ายกับวิธีเปรียบเทียบข้อมูลมาก ข้อแตกต่างเพียงอย่างเดียวเมื่อเทียบกับวิธีการก่อนหน้านี้คือไม่มีการเปรียบเทียบข้อมูลและสคริปต์ SQL ที่สร้างขึ้นไม่มีความแตกต่างของข้อมูล แต่เป็นตรรกะในการซิงโครไนซ์ สคริปต์ที่สร้างขึ้นสามารถบันทึกลงในขั้นตอนการจัดเก็บได้อย่างง่ายดายและสามารถเรียกใช้เป็นระยะ ๆ (เช่นทุกคืน) วิธีนี้มีประโยชน์สำหรับการนำเข้าอัตโนมัติระหว่างฐานข้อมูล ประสิทธิภาพของวิธีนี้ดีกว่าวิธีเปรียบเทียบข้อมูลมาก
การซิงโครไนซ์โดย SQL ที่สร้างขึ้นโดยอัตโนมัติมีให้โดย สตูดิโอฐานข้อมูล SQL .
SQL Database Studio มีอินเทอร์เฟซที่คล้ายกันกับวิธีการเปรียบเทียบข้อมูล เราจำเป็นต้องเลือกแหล่งที่มาและเป้าหมาย (ฐานข้อมูลหรือตาราง) จากนั้นเราต้องตั้งค่าตัวเลือก (ปุ่มซิงค์การจับคู่และการทำแผนที่) มีคุณลักษณะตัวสร้างแบบสอบถามแบบกราฟิกสำหรับการตั้งค่าพารามิเตอร์ทั้งหมด
สองฐานข้อมูล (A และ B) แต่ละฐานข้อมูลมีหนึ่งตารางที่มี 2,000,000 แถว ตารางอยู่ในฐานข้อมูลที่แตกต่างกันสองฐานข้อมูลบน SQL Server เดียวกัน การทดสอบนี้ครอบคลุมกรณีที่รุนแรงสองกรณี: 1) ตารางต้นทางมีทั้งหมด 2,000,000 แถวและตารางเป้าหมายว่างเปล่า การซิงโครไนซ์จำเป็นต้องมี INSERTS
มากมาย 2) ตารางต้นทางและเป้าหมายมี 2,000,000 แถว ความแตกต่างอยู่ในแถวเดียวเท่านั้น การซิงโครไนซ์จำเป็นต้องระบุ UPDATE
เท่านั้น
RedGate Data Compare ต้องการ 3 ขั้นตอน:
ApexSQL Data Diff ต้องการ 2 ขั้นตอน:
SQL Database Studio ทำการซิงโครไนซ์ทั้งหมดในขั้นตอนเดียว ด้านล่างนี้เป็นเวลาในการซิงโครไนซ์เป็นวินาที ในคอลัมน์ที่มีชื่อว่า 'แต่ละขั้นตอน' คือระยะเวลาของขั้นตอนการซิงโครไนซ์ที่ระบุไว้ด้านบน
กรณีก. INSERTs จำนวนมาก | กรณีก. INSERTs จำนวนมาก (แต่ละขั้นตอน) | กรณีข. อัปเดตหนึ่งแถว | กรณี B อัปเดตหนึ่งแถว (แต่ละขั้นตอน) | |
---|---|---|---|---|
สตูดิโอฐานข้อมูล SQL | 47 | 5 | ||
เปรียบเทียบข้อมูล RedGate | 317 | 13 + 92 + 212 | 2. 3 | 22 + 0 + 1 |
ApexSQL Data Diff | 188 | 18 + 170 | 26 | 25+ |
ต่ำกว่าจะดีกว่า
การทดสอบเดียวกัน แต่ฐานข้อมูลอยู่บนเซิร์ฟเวอร์ SQL ที่แตกต่างกันซึ่งไม่ได้เชื่อมต่อผ่านเซิร์ฟเวอร์ที่เชื่อมโยง
กรณีก. INSERTs จำนวนมาก | กรณีก. INSERTs จำนวนมาก (แต่ละขั้นตอน) | กรณีข. อัปเดตหนึ่งแถว | กรณี B อัปเดตหนึ่งแถว (แต่ละขั้นตอน) | |
---|---|---|---|---|
สตูดิโอฐานข้อมูล SQL | 78 | 44 | ||
เปรียบเทียบข้อมูล RedGate | 288 | 17 + 82 + 179 | 25 | 24 + 0 + 1 |
ApexSQL Data Diff | 203 | 18 + 185 | 25 | 24 + 1 |
เปรียบเทียบข้อมูล dbForge | 326 | 11 + 315 | 16 | 16 + 0 |
ต่ำกว่าจะดีกว่า
จากผลลัพธ์จะเห็นได้ชัดว่า RedGate และ Apex ไม่สนใจว่าฐานข้อมูลจะอยู่บนเซิร์ฟเวอร์ SQL เดียวกันหรือไม่เนื่องจากอัลกอริทึมการซิงโครไนซ์ไม่ขึ้นอยู่กับ SQL Server SQL Database Studio ใช้ฟังก์ชันดั้งเดิมของ SQL Server ดังนั้นผลลัพธ์จะดีกว่าเมื่อฐานข้อมูลอยู่บนเซิร์ฟเวอร์เดียวกัน
นอกจากนี้ยังมีสถานการณ์ที่ต้องซิงโครไนซ์ตารางกว้างหนึ่งตารางไปยังตารางขนาดเล็กจำนวนมากที่เกี่ยวข้อง
ตัวอย่างนี้ประกอบด้วย SourceData ตารางกว้างหนึ่งตารางซึ่งต้องซิงโครไนซ์ลงในตารางขนาดเล็ก Continent
, Country
และ City
โครงการได้รับด้านล่าง
ข้อมูลใน SourceData อาจเป็นเหมือนในภาพด้านล่าง
การขึ้นต่อกันในโค้ดคืออะไร
INSERT INTO Continent (Name) SELECT SourceData.Continent FROM SourceData WHERE (SourceData.Continent IS NOT NULL AND NOT EXISTS (SELECT * FROM Continent tested WHERE tested.Name =SourceData.Continent )) GROUP BY SourceData.Continent;
INSERT INTO City (Name, CountryId) SELECT SourceData.City, Country.Id FROM SourceData LEFT JOIN Continent ON SourceData.Continent = Continent.Name LEFT JOIN Country ON SourceData.Country = Country.Name AND Continent.Id = Country.ContinentId WHERE SourceData.City IS NOT NULL AND Country.Id IS NOT NULL AND NOT EXISTS (SELECT * FROM City tested WHERE tested.Name = SourceData.City AND tested.CountryId = Country.Id) GROUP BY SourceData.City, Country.Id;
สคริปต์นี้มีความซับซ้อนมากขึ้น เป็นเพราะบันทึกในตาราง Country
และ Continent
จะต้องพบ สคริปต์นี้แทรกบันทึกที่ขาดหายไปใน City
และเติม ContryId
ถูกต้อง
UPDATE
และ DELETE
นอกจากนี้ยังสามารถเขียนสคริปต์ในลักษณะเดียวกันได้หากจำเป็น
INSERT
, UPDATE
และ DELETE
- โดยทั่วไปจำเป็น)การซิงโครไนซ์แบบนี้ (ตารางกว้างเป็นตารางที่เกี่ยวข้องจำนวนมาก) ไม่สามารถทำได้ด้วยวิธีเปรียบเทียบข้อมูลเนื่องจากเน้นไปที่กรณีการใช้งานที่แตกต่างกัน เนื่องจากวิธีการเปรียบเทียบข้อมูลจะสร้างสคริปต์ SQL พร้อมข้อมูลที่จะแทรกจึงไม่มีความสามารถที่ตรงไปตรงมาในการค้นหาข้อมูลอ้างอิงในตารางที่เกี่ยวข้อง ด้วยเหตุนี้จึงไม่สามารถใช้แอปพลิเคชันที่ใช้วิธีนี้ได้ (dbForge Data Compare สำหรับ SQL Server, RedGate SQL Data Compare, Apex SQL Data Diff)
อย่างไรก็ตาม SQL Database Studio สามารถช่วยคุณสร้างสคริปต์ซิงโครไนซ์โดยอัตโนมัติ ในภาพด้านล่างมีองค์ประกอบที่เรียกว่า Editor for Data Synchronization ใน SQL Database Studio
วิธีเขียนแบบทดสอบหน่วยที่ดี
ตัวแก้ไขดูเหมือนเครื่องมือสร้างแบบสอบถามที่รู้จักกันดีและทำงานในลักษณะที่คล้ายกันมาก แต่ละตารางจำเป็นต้องมีคีย์การซิงโครไนซ์ที่กำหนดไว้ แต่ยังมีการกำหนดความสัมพันธ์ระหว่างตารางด้วย ในภาพด้านบนมีการทำแผนที่สำหรับการซิงโครไนซ์ด้วย ในรายการคอลัมน์ (ส่วนล่างของรูปภาพ) มีคอลัมน์ของตาราง City
(สำหรับตารางอื่นจะคล้ายกัน)
คอลัมน์ CountryId
และ Name
ถูกเลือกเป็นคีย์การซิงโครไนซ์ คีย์การซิงโครไนซ์คือชุดของคอลัมน์ที่ระบุแถวในตารางต้นทางและตารางเป้าหมายโดยไม่ซ้ำกัน คุณไม่สามารถใช้คีย์หลัก Id
เป็นคีย์การซิงโครไนซ์เนื่องจากไม่ได้อยู่ในตารางต้นทาง
หลังจากการซิงโครไนซ์ตารางจะมีลักษณะดังนี้:
ในตัวอย่างข้างต้นมีตารางกว้างหนึ่งตัวเป็นแหล่งที่มา นอกจากนี้ยังมีสถานการณ์ทั่วไปเมื่อข้อมูลต้นทางถูกเก็บไว้ในตารางที่เกี่ยวข้อง ความสัมพันธ์ใน SQL Database Studio ไม่ได้กำหนดโดยใช้คีย์ต่างประเทศ แต่ชื่อคอลัมน์ วิธีนี้ยังสามารถนำเข้าจากไฟล์ CSV หรือ Excel ได้ (ไฟล์ถูกโหลดลงในตารางชั่วคราวและการซิงโครไนซ์จะถูกเรียกใช้จากตารางนั้น) การตั้งชื่อคอลัมน์ที่ไม่ซ้ำกันเป็นแนวทางปฏิบัติที่ดี หากไม่สามารถทำได้คุณสามารถกำหนดนามแฝงให้กับคอลัมน์เหล่านั้นได้
การซิงโครไนซ์ข้อมูลประกอบด้วยลำดับของ INSERT
, UPDATE
หรือ DELETE
คำสั่ง มีหลายวิธีในการสร้างลำดับของคำสั่งเหล่านี้ ในบทความนี้เราดูตัวเลือกสามตัวในการสร้างสคริปต์ SQL ซิงโครไนซ์ ตัวเลือกแรกคือการสร้างทุกอย่างด้วยตนเอง เป็นไปได้ (แต่ใช้เวลามากเกินไป) ต้องมีความเข้าใจที่ซับซ้อนเกี่ยวกับ SQL และยากที่จะสร้างและดูแลรักษา ทางเลือกที่สองคือการใช้เครื่องมือทางการค้า เราดูเครื่องมือต่อไปนี้:
เครื่องมือสามตัวแรกทำงานคล้ายกันมาก พวกเขาเปรียบเทียบข้อมูลให้ผู้ใช้วิเคราะห์ความแตกต่างและสามารถซิงโครไนซ์ความแตกต่างที่เลือก (แม้โดยอัตโนมัติหรือจากบรรทัดคำสั่ง) ซึ่งเป็นประโยชน์สำหรับสถานการณ์การใช้งานเหล่านี้:
เครื่องมือแต่ละตัวเป็นที่ชื่นชอบด้วยเหตุผลเดียว: dbForge มี UI ที่ยอดเยี่ยมและตัวเลือกมากมาย ApexSQL ทำงานได้ดีกว่าที่เหลือและ RedGate เป็นเครื่องมือที่ได้รับความนิยมสูงสุด
เครื่องมือที่สี่ SQL Database Studio ทำงานแตกต่างกันเล็กน้อย สร้างสคริปต์ SQL ที่มีตรรกะการซิงโครไนซ์ไม่ใช่การเปลี่ยนแปลง ประสิทธิภาพก็ยอดเยี่ยมเช่นกันเนื่องจากงานทั้งหมดทำโดยตรงบนเซิร์ฟเวอร์ฐานข้อมูลดังนั้นจึงไม่จำเป็นต้องถ่ายโอนข้อมูลระหว่างเซิร์ฟเวอร์ฐานข้อมูลและเครื่องมือซิงโครไนซ์ เครื่องมือนี้มีประโยชน์สำหรับกรณีการใช้งานต่อไปนี้:
คุณสามารถใช้เครื่องมือเช่น RedGate Data Compare, ApexSQL Data Diff และ dbForge Data Compare ซึ่งใช้วิธีเปรียบเทียบข้อมูล คุณสามารถใช้ SQL Database Studio ซึ่งสร้างสคริปต์ SQL ที่ใช้ซ้ำได้โดยอัตโนมัติ
การเปรียบเทียบตามข้อมูลสามารถทำได้โดยอัตโนมัติโดยใช้เครื่องมือของบุคคลที่สามซึ่งมีราคา หรือคุณสามารถเขียนสคริปต์ SQL เปรียบเทียบที่แสดงความแตกต่าง แต่ใช้เวลานานกว่าและใช้ซ้ำได้น้อยกว่า
คุณสามารถซิงโครไนซ์ฐานข้อมูล SQL ด้วยตนเองโดยการเขียนสคริปต์ SQL (INSERT, DELETE, UPDATE) หรือคุณสามารถใช้เครื่องมือของบุคคลที่สามซึ่งมีราคา เครื่องมือของบุคคลที่สามทำงานโดยการเปรียบเทียบข้อมูลและสร้างสคริปต์ SQL การซิงโครไนซ์หรือคุณสามารถตั้งค่าตรรกะการซิงโครไนซ์และสร้างสคริปต์ SQL ตาม