Adatok szinkronizálása

A következőkre vonatkozik:SQL ServerAzure SQL Managed Instance

Az adatok szinkronizálása arra a folyamatra utal, amely során az adatokban és a sémában bekövetkező változások a Közzétevő és az Előfizetők között továbbítódnak, miután a kezdeti pillanatképet alkalmazták az Előfizetőnél. Szinkronizáció történhet:

  • Folyamatos, ami jellemző a tranzakciós replikációra.

  • Igény szerint, ami jellemző az összeolvadás replikációjára.

  • Ütemterv szerint, ami tipikus a snapshot replikációnál.

Amikor egy előfizetést szinkronizálnak, különböző folyamatok zajlanak attól függően, hogy milyen típusú replikációt használsz:

  • Pillanatkép-replikáció. A szinkronizáció azt jelenti, hogy a Distribution Agent újra alkalmazza a pillanatképet az Előfizetőn, hogy a séma és az előfizetési adatbázisban lévő adatok összhangban legyenek a publikációs adatbázissal.

    Ha a Publisher módosította az adatokat vagy sémát, új snapshotot kell generálni, hogy a módosításokat továbbítsa az Előfizetőnek.

  • Tranzakciós replikáció. A szinkronizáció azt jelenti, hogy a Distribution Agent átadja a frissítéseket, beillesztéseket, törléseket és egyéb módosításokat a disztribúciós adatbázisból az Előfizetőnek.

  • egyesítéses replikáció A szinkronizáció azt jelenti, hogy a Merge Agent feltölti a változásokat az Előfizetőtől a Publisher-re, majd letölti a változásokat a Publisher-től az Előfizetőre. Ha egyáltalán vannak konfliktusok, észlelhetők és megoldódnak. Az adatok konvergálódnak, és a Publisher, valamint az összes előfizető végül ugyanazokat az adatértékeket kapja. Ha konfliktusokat észleltek és megoldottak, néhány felhasználó által végzett munkát megváltoztatják, hogy a konfliktust az Ön által meghatározott irányelvek szerint oldják meg.

A snapshot kiadványok minden szinkronizálás során teljesen frissítik a sémát az Előfizetőnél, így minden sémaváltozás az Előfizetőre vonatkozik. A tranzakciós replikáció és az egyesítés replikáció támogatja a leggyakoribb sémaváltozásokat is. További információ: Sémamódosítások a kiadványadatbázisokon.

Leküldéses előfizetés szinkronizálásához lásd: Leküldéses előfizetés szinkronizálása.

Lekéréses előfizetés szinkronizálásához lásd: Lekéréses előfizetés szinkronizálása.

A szinkronizálási ütemtervek beállításához lásd: Szinkronizációs ütemtervek meghatározása.

A szinkronizációs konfliktusok megtekintése és megoldása

Kód végrehajtása szinkronizálás közben

A replikáció két kód futtatási módszerét támogatja a szinkronizálás során

  • Az igény szerinti szkriptfuttatás támogatott tranzakciós replikációhoz és összevonási replikációhoz. Igény szerinti szkriptfuttatással beállíthatsz egy SQL szkriptet, amely szinkronizáció közben fut. A szkriptet a Feliratkozóhoz másolják, és a szinkronizációs folyamat elején sqlcmd segítségével futtatják. A szkript nem fér hozzá a replikált változtatásokhoz, ahogy azok az előfizetőre vannak alkalmazva. További információ: Szkriptek végrehajtása szinkronizálás közben (replikáció Transact-SQL programozás).

  • Az üzleti logikakezelők támogatottak az egyesítéses replikáció esetében. Az üzleti logikai kezelő keretrendszer segítségével írhatsz egy menedzselt kód összeállítást, amelyet a merge syncing folyamat során hívnak meg. Az összeszerelés üzleti logikát tartalmaz, amely képes reagálni a szinkronizálás során számos feltételre: adatváltozásokra, ütközésekre és hibákra. További információ: Üzleti logika végrehajtása az egyesítési szinkronizálás során.