Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Ez a cikk az SQL Server tranzakciós replikációit ismerteti. A tranzakciós replikáció általában a közzétételi adatbázis objektumainak és adatainak pillanatképével kezdődik. A kezdeti pillanatkép készítése után a közzétevőnél végzett későbbi adatmódosítások és sémamódosítások általában az Előfizetőhöz kerülnek (közel valós időben). Az adatváltozások az Előfizetőre ugyanabban a sorrendben és ugyanazon tranzakciós határokon belül kerülnek alkalmazásra, mint a Közzétevőnél; ezért a kiadványon belül a tranzakciós konzisztencia garantált.
Áttekintés
A tranzakciós replikációt általában kiszolgáló–kiszolgáló környezetekben használják, és az alábbi esetekben megfelelő:
Azt szeretné, hogy a növekményes módosítások eljussanak az előfizetőkhöz, amint azok történnek.
Az alkalmazás kis késést igényel a Közzétevőnél végzett módosítások és az Előfizetőhöz érkező módosítások között.
Az alkalmazásnak hozzá kell férnie a köztes adatállapotokhoz. Ha például egy sor ötször változik, a tranzakciós replikáció lehetővé teszi, hogy az alkalmazás reagáljon az egyes változásokra (például aktiváljon egy eseményindítót), és ne egyszerűen a sor nettó adatváltozására.
A Publisher nagyon nagy mennyiségű beszúrási, frissítési és törlési tevékenységet tartalmaz.
A Publisher vagy az Előfizető egy nem SQL Server-adatbázis, például az Oracle.
Alapértelmezés szerint a tranzakciós publikációk előfizetőit csak olvashatóként kell kezelni, mert a módosítások nem lesznek vissza továbbítva a Kiadónak. A tranzakciós replikáció azonban olyan lehetőségeket kínál, amelyek lehetővé teszik a frissítéseket az előfizetőnél.
Megjegyzés:
A felügyelt Azure SQL-példány közzétevő, terjesztő és előfizető lehet a pillanatképek és a tranzakciós replikáció számára. Az Azure SQL Database adatbázisai csak pillanatkép- és tranzakciós replikáció push előfizetői lehetnek. További információ: Tranzakciós replikáció az Azure SQL Database-sel és a felügyelt Azure SQL-példányokkal.
TLS 1.3-titkosítás konfigurálása
Az SQL Server 2025 (17.x) TDS 8.0-s támogatást nyújt a tranzakciós replikációhoz, amely a következőket tartalmazza:
- Replikációs ügynökök konfigurálása TLS 1.3 titkosítás használatára az SQL Server 2025 (17.x) példányai, valamint az SQL Server 2025 (17.x) és a felügyelt Azure SQL-példányok között.
- Az SQL Server 2025 (17.x) példányok közötti társított kiszolgálói kommunikáció alapértelmezett titkosítása egy replikációs topológiában. Az SQL Server 2025 csatolt kiszolgálói (17.x) az OLE DB v19 illesztőprogramot használják, amely alapértelmezés szerint titkosításra szolgál
Encrypt=Mandatory.
Megjegyzés:
Távoli terjesztővel rendelkező replikációs topológiák esetén:
A tranzakciós replikáció működése
A tranzakciós replikációt az SQL Server Pillanatkép-ügynök, a Naplóolvasó ügynök és a Terjesztési ügynök valósítja meg. A Pillanatkép-ügynök előkészíti a közzétett táblák és adatbázis-objektumok sémáját és adatait tartalmazó pillanatképfájlokat, tárolja a fájlokat a pillanatkép mappában, és rögzíti a szinkronizálási feladatokat a terjesztő terjesztési adatbázisában.
A Naplóolvasó ügynök figyeli a tranzakciós replikációhoz konfigurált adatbázisok tranzakciónaplóját, és a replikációra megjelölt tranzakciókat a tranzakciónaplóból a terjesztési adatbázisba másolja, amely megbízható tárolási és továbbítási üzenetsorként működik. A terjesztési ügynök átmásolja a kezdeti pillanatképfájlokat a pillanatkép mappából és a terjesztési adatbázis tábláiban tárolt tranzakciókat az előfizetőknek.
Az apró változtatások a Publisher folyamán a terjesztési ügynök ütemezése szerint áramlanak az előfizetők felé, ami minimális késleltetés érdekében folyamatosan futhat, vagy előre ütemezett időközönként. Mivel az adatokat módosítani kell a Publisherben (ha a tranzakciós replikációt azonnali frissítési vagy várólistás frissítési beállítások nélkül használják), a frissítési ütközések elkerülhetők. Végső soron minden előfizető ugyanazokat az értékeket fogja elérni, mint a Közzétevő. Ha a tranzakciós replikációhoz azonnali frissítési vagy várólistás frissítési beállításokat használnak, a frissítések az Előfizetőnél végezhetők el, és az üzenetsoros frissítés során ütközések léphetnek fel.
Az alábbi ábra a tranzakciós replikáció fő összetevőit mutatja be.
Kezdeti adatkészlet
Mielőtt egy új tranzakciós replikáció előfizetője növekményes módosításokat kap a Közzétevőtől, az Előfizetőnek olyan táblákat kell tartalmaznia, amelyek sémája és adatai megegyeznek a Publisher tábláival. A kezdeti adatkészlet általában egy pillanatkép, amelyet a Pillanatkép-ügynök hoz létre, és amelyet a terjesztési ügynök terjeszt és alkalmaz. A kezdeti adatkészlet biztonsági mentéssel vagy más módon is megadható, például az SQL Server Integration Services szolgáltatással.
Ha a pillanatképeket elosztja és alkalmazza az előfizetőkre, csak a kezdeti pillanatképekre váró előfizetők lesznek érintettek. A kiadvány többi előfizetőjét (akik már inicializálva vannak) ez nem érinti.
Egyidejű pillanatkép-feldolgozás
A pillanatkép-replikáció megosztott zárolásokat helyez el a replikáció részeként közzétett összes táblán a pillanatkép-létrehozás időtartama alatt. Ez megakadályozhatja, hogy frissítéseket tegyenek közzé a közzétételi táblákon. Az egyidejű pillanatkép-feldolgozás, az alapértelmezett tranzakciós replikáció nem tárolja a megosztási zárolásokat a teljes pillanatkép-létrehozás során, így a felhasználók zavartalanul dolgozhatnak, miközben a replikáció kezdeti pillanatképfájlokat hoz létre.
Pillanatkép-ügynök
Azok az eljárások, amelyekkel a Pillanatkép-ügynök végrehajtja a kezdeti pillanatképet a tranzakciós replikációban, ugyanazok az eljárások, amelyeket a pillanatkép-replikációban használnak (kivéve a korábban ismertetetteket az egyidejű pillanatkép-feldolgozás tekintetében).
A pillanatképfájlok létrehozása után a Microsoft Windows Explorerrel megtekintheti őket a pillanatkép mappában.
Az adatok és a naplóolvasó ügynök módosítása
A naplóolvasó ügynök a forgalmazónál fut; általában folyamatosan fut, de az Ön által meghatározott ütemezés szerint is futtatható. A végrehajtás során a Naplóolvasó ügynök először beolvassa a közzétételi tranzakciónaplót (ugyanaz az adatbázisnaplót, amelyet a tranzakciók nyomon követéséhez és helyreállításához használnak a rendszeres SQL Server-adatbázismotor-műveletek során), és azonosítja a replikációra megjelölt tranzakciók adatain végrehajtott esetleges INSERT, UPDATE és DELETE utasításokat vagy egyéb módosításokat. Ezután az ügynök a kötegekben lévő tranzakciókat a forgalmazó terjesztési adatbázisába másolja. A Naplóolvasó ügynök a belső tárolt eljárást, az sp_replcmds-t használja, hogy lekérje a következő, replikációhoz kijelölt parancskészletet a naplóból. Ezután a szórási adatbázis lesz az a tároló- és továbbító sor, amelyből a rendszer elküldi a módosításokat az előfizetőknek. A rendszer csak a véglegesített tranzakciókat küldi el a terjesztési adatbázisba.
Miután a tranzakciók teljes kötegét sikeresen megírta a terjesztési adatbázisba, véglegesítése megtörtént. Az egyes parancskötegek forgalmazónak való véglegesítését követően a Naplóolvasó ügynök meghívja sp_repldone , hogy jelölje meg a replikáció utolsó befejezésének helyét. Végül az ügynök megjelöli a tranzakciónapló azon sorait, amelyek készen állnak a törlésre. A replikálásra váró sorok nem törlődnek.
A tranzakciós parancsok a terjesztési adatbázisban vannak tárolva, amíg az összes előfizetőre nem propagálja őket, vagy amíg el nem éri a maximális megőrzési időtartamot. Az előfizetők a tranzakciókat ugyanabban a sorrendben kapják meg, amelyben a Közzétevőnél alkalmazták őket.
Terjesztési ügynök
A terjesztési ügynök leküldéses előfizetések esetén a terjesztőn, lekéréses előfizetések esetén pedig az előfizetőn fut. Az ügynök áthelyezi a tranzakciókat a terjesztési adatbázisból az Előfizetőbe. Ha egy előfizetés érvényesítésre van megjelölve, a terjesztési ügynök azt is ellenőrzi, hogy a Közzétevő és az Előfizető adatai egyeznek-e.
Kiadványtípusok
A tranzakciós replikáció négy kiadványtípust kínál:
| Kiadvány típusa | Leírás |
|---|---|
| Standard tranzakciós kiadvány | Olyan topológiákhoz megfelelő, amelyekben az Előfizető összes adata írásvédett (a tranzakciós replikáció nem kényszeríti ezt az Előfizetőre). A standard tranzakciós kiadványok alapértelmezés szerint Transact-SQL vagy replikációkezelési objektumok (RMO) használatakor jönnek létre. Az Új kiadvány varázsló használatakor a rendszer úgy hozza létre őket, hogy kiválasztja a Tranzakciós kiadvány lehetőséget a Kiadványtípus lapon. További információ a kiadványok létrehozásáról: Adatok és adatbázis-objektumok közzététele. |
| Tranzakciós kiadvány frissíthető előfizetésekkel | Ennek a kiadványtípusnak a jellemzői a következők: -Minden hely azonos adatokkal rendelkezik, egy Közzétevővel és egy előfizetővel. -Lehetőség van sorok frissítésére az Előfizetőnél -Ez a topológia leginkább a magas rendelkezésre állást és olvasási méretezhetőséget igénylő kiszolgálói környezetekhez alkalmas. További információ: Frissíthető előfizetések. |
| Társközi topológia | Ennek a kiadványtípusnak a jellemzői a következők: - Minden hely azonos adatokkal rendelkezik, és közzétevőként és előfizetőként is működik. – Ugyanazon sor egyszerre csak egy helyen módosítható. – Támogatja az ütközések észlelését – Ez a topológia leginkább a magas rendelkezésre állást és olvasási méretezhetőséget igénylő kiszolgálói környezetekhez alkalmas. További információ: Társközi tranzakciós replikáció. |
| Kétirányú tranzakciós replikáció | Ennek a kiadványtípusnak a jellemzői a következők: A kétirányú replikáció hasonló a társközi replikációhoz, de nem biztosít ütközésmegoldást. Emellett a kétirányú replikáció legfeljebb 2 kiszolgálóra korlátozódik. További információ: Kétirányú tranzakciós replikáció |