Naplóátvitel és replikáció (SQL Server)

A következőkre vonatkozik:SQL Server

A naplószállítás egyetlen adatbázis két példányát foglalja magában, amelyek általában különböző számítógépeken találhatók. Egy adott időpontban az adatbázisnak csak egy példánya érhető el az ügyfelek számára. Ezt a másolatot elsődleges adatbázisnak nevezzük. Az ügyfelek által az elsődleges adatbázisba végrehajtott frissítések propagálása az adatbázis másik példányára, az úgynevezett másodlagos adatbázisra történő naplózással történik. A naplószállítás magában foglalja a tranzakciónapló alkalmazását az elsődleges adatbázison végrehajtott összes beszúrás, frissítés vagy törlés során a másodlagos adatbázisra.

A naplószállítás a replikációval együtt használható a következő viselkedéssel:

  • A replikáció nem folytatódik a naplóküldési feladatátvétel után. Feladatátvétel esetén a replikációs ügynökök nem csatlakoznak a másodlagos kiszolgálóhoz, ezért a tranzakciók nem jutnak el az Előfizetőkhöz. Ha visszaállnak az elsődlegesre, a replikáció folytatódik. A másodlagos kiszolgálóról az elsődleges kiszolgálóra visszamásolt naplóátküldési másolatokban szereplő összes tranzakció replikálódik az Előfizetőkhöz.

  • Ha az elsődleges végleg elveszik, a másodlagos átnevezhető a replikáció folytatásához. A témakör további része az eset kezelésére vonatkozó követelményeket és eljárásokat ismerteti. A megadott példa a közzétételi adatbázis, amely a leggyakrabban naplózható adatbázis, de hasonló folyamat alkalmazható az előfizetési és terjesztési adatbázisokra is.

A replikációban részt vevő adatbázisok replikációs újrakonfigurálásának nélkül történő helyreállításáról további információt a Replikált adatbázisok biztonsági mentése és visszaállítása című témakörben talál.

Note

A közzétételi adatbázis rendelkezésre állásának biztosításához használja az Always On rendelkezésre állási csoportokat a naplószállítás helyett. További információ: Replikáció konfigurálása Always On rendelkezésre állási csoportokkal.

A másodlagosról történő replikálás követelményei és eljárásai, ha az elsődleges adat elveszik

Vegye figyelembe a következő követelményeket és szempontokat:

  • Ha egy elsődleges adatbázis több kiadványadatbázist tartalmaz, naplózza az összes kiadványadatbázist ugyanarra a másodlagosra.

  • A másodlagos kiszolgálópéldány telepítési útvonalának meg kell egyeznie az elsődlegesével. A másodlagos kiszolgálón a felhasználói adatbázis helyének meg kell egyeznie az elsődleges kiszolgáló helyével.

  • Készítsen biztonsági másolatot a szolgáltatás főkulcsáról az elsődleges kiszolgálón. Ez a kulcs a másodlagos példányon lesz visszaállítva. További információ: BACKUPSERVICEBACKUP SERVICE MASTER KEY (Transact-SQL).

  • A naplószállítás nem garantálja az adatvesztést. Az elsődleges adatbázis meghibásodása olyan adatok elvesztését eredményezheti, amelyekről még nem készült biztonsági másolat, vagy olyan biztonsági másolatok, amelyek elvesznek a hiba során.

Naplókézbesítés és tranzakciós replikáció

A tranzakciós replikáció esetében a naplók szállításának viselkedése a biztonsági mentési beállítással való szinkronizálástól függ. Ez a beállítás beállítható a közzétételi adatbázisban és a terjesztési adatbázisban; a Publisher naplószállításában csak a közzétételi adatbázisban lévő beállítás releváns.

Ha ezt a beállítást a közzétételi adatbázisban állítja be, a rendszer csak akkor kézbesíti a tranzakciókat a terjesztési adatbázisba, ha biztonsági másolatot készít a közzétételi adatbázisról. Az utolsó közzétételi adatbázis biztonsági mentése ezután visszaállítható a másodlagos kiszolgálón anélkül, hogy a terjesztési adatbázis olyan tranzakciókat hajtana végre, amelyekkel a visszaállított közzétételi adatbázis nem rendelkezik. Ez a beállítás garantálja, hogy ha a Publisher átáll egy másodlagos kiszolgálóra, akkor a Publisher, a terjesztő és az Előfizetők közötti konzisztencia megmarad. A késés és az átviteli sebesség azért van hatással, mert a tranzakciók nem kézbesíthetők a terjesztési adatbázisba, amíg a Publisher nem készít biztonsági másolatot. Ha az alkalmazás el tudja viselni ezt a késést, javasoljuk, hogy ezt a beállítást a közzétételi adatbázisban állítsa be. Ha nincs beállítva a biztonsági mentési lehetőséggel való szinkronizálás , az előfizetők olyan módosításokat kaphatnak, amelyek már nem szerepelnek a másodlagos kiszolgálón található helyreállított adatbázisban. További információ: Stratégiák a pillanatképek és a tranzakciós replikáció biztonsági mentéséhez és visszaállításához.

A tranzakciós replikáció és a naplóátvitel konfigurálása a biztonsági mentéssel való szinkronizálás beállítással

  1. Ha a biztonsági mentéssel való szinkronizálás beállítás nincs megadva a közzétételi adatbázisban, hajtsa végre a következőt: sp_replicationdboption '<publicationdatabasename>', 'sync with backup', 'true'. További információ: sp_replicationdboption (Transact-SQL).

  2. A közzétételi adatbázis naplószállításának konfigurálása. További információ: Naplószállítás konfigurálása (SQL Server).

  3. Ha a Publisher sikertelen, állítsa vissza az adatbázis utolsó naplóját a másodlagos kiszolgálóra a LOG KEEP_REPLICATION lehetőségévelRESTORE. Ez megőrzi az adatbázis összes replikációs beállítását. További információt a következő témakörökben talál: Feladatátvétel egy naplóátküldési másodlagos kiszolgálóra (SQL Server) és RESTORE (Transact-SQL).

  4. Állítsa vissza az msdb-adatbázist és a adatbázisokat az elsődlegesről a másodlagosra. További információ: Rendszeradatbázisok (SQL Server) biztonsági mentése és visszaállítása. Ha az elsődleges is forgalmazó volt, állítsa vissza a terjesztési adatbázist az elsődlegesről a másodlagosra.

    Ezeknek az adatbázisoknak összhangban kell lenniük az elsődleges közzétételi adatbázissal a replikáció konfigurációja és beállításai szempontjából.

  5. A másodlagos kiszolgálón nevezze át a számítógépet, majd nevezze át a SQL Server példányt az elsődleges kiszolgáló nevének megfelelően. A számítógép átnevezésével kapcsolatos információkért tekintse meg a Windows dokumentációját. A kiszolgáló átnevezésével kapcsolatos információkért lásd: Stand-Alone SQL Server-példányt futtató számítógép átnevezése és SQL Server feladatátvevő fürtpéldány átnevezése.

  6. A másodlagos kiszolgálón állítsa vissza az elsődleges kiszolgálóról biztonsági másolatot készítő szolgáltatás főkulcsát. További információ: RESTORESERVICERESTORE SERVICE MASTER KEY (Transact-SQL).

Tranzakciós replikáció és naplószállítás konfigurálása a biztonsági mentési beállítással való szinkronizálás nélkül

  1. A közzétételi adatbázis naplószállításának konfigurálása. További információ: Naplószállítás konfigurálása (SQL Server).

  2. Ha a Publisher sikertelen, állítsa vissza az adatbázis utolsó naplóját a másodlagos kiszolgálóra a LOG KEEP_REPLICATION lehetőségévelRESTORE. Ez megőrzi az adatbázis összes replikációs beállítását. További információt a következő témakörökben talál: Feladatátvétel egy naplóátküldési másodlagos kiszolgálóra (SQL Server) és RESTORE (Transact-SQL).

  3. Állítsa vissza az msdb-adatbázist és a adatbázisokat az elsődlegesről a másodlagosra. További információ: Rendszeradatbázisok (SQL Server) biztonsági mentése és visszaállítása. Ha az elsődleges is forgalmazó volt, állítsa vissza a terjesztési adatbázist az elsődlegesről a másodlagosra.

    Ezeknek az adatbázisoknak összhangban kell lenniük az elsődleges közzétételi adatbázissal a replikáció konfigurációja és beállításai szempontjából.

  4. A másodlagos kiszolgálón nevezze át a számítógépet, majd nevezze át a SQL Server példányt az elsődleges kiszolgáló nevének megfelelően. A számítógép átnevezésével kapcsolatos információkért tekintse meg a Windows dokumentációját. A kiszolgáló átnevezésével kapcsolatos információkért lásd: Stand-Alone SQL Server-példányt futtató számítógép átnevezése és SQL Server feladatátvevő fürtpéldány átnevezése.

    Előfordulhat, hogy a Naplóolvasó ügynök hibaüzenetet kap arról, hogy a kiadványadatbázis és a terjesztési adatbázis nincs szinkronizálva.

  5. A másodlagos kiszolgálón állítsa vissza az elsődleges kiszolgálóról biztonsági másolatot készítő szolgáltatás főkulcsát. További információ: RESTORESERVICERESTORE SERVICE MASTER KEY (Transact-SQL).

  6. Hajtsa végre a(z) sp_replrestart parancsot. Ezzel a tárolt eljárással kényszerítheti a Naplóolvasó ügynököt, hogy hagyja figyelmen kívül a közzétételi adatbázis naplójában lévő összes korábbi replikált tranzakciót. A tárolt eljárás befejezése után alkalmazott tranzakciókat a Naplóolvasó ügynök dolgozza fel. További információ: sp_replrestart (Transact-SQL).

  7. Indítsa újra a Naplóolvasó ügynököt a tárolt eljárás sikeres végrehajtása után. További információért lásd: Start and Stop a Replication Agent (SQL Server Management Studio).

  8. Az Előfizetőnek már továbbított tranzakciók alkalmazásra kerülhetnek a Közzétevőnél. Annak érdekében, hogy a Distribution Agent ne álljon le hibával, amikor megpróbálja újraalkalmazni ezeket a tranzakciókat az Előfizetőn, adja meg a Folytatás adatkonzisztencia-hibák esetén nevű ügynökprofilt.

Naplószállítás egyesítéses replikációval

Az egyesítési replikáció és a naplószállítás konfigurálásához kövesse az alábbi eljárás lépéseit.

Az egyesítési replikáció és a naplókézbesítés konfigurálása

  1. A közzétételi adatbázis naplószállításának konfigurálása. További információ: Naplószállítás konfigurálása (SQL Server).

  2. Ha a Publisher sikertelen, nevezze át a számítógépet a másodlagos kiszolgálón, majd nevezze át a SQL Server példányt az elsődleges kiszolgáló nevének megfelelően. A számítógép átnevezésével kapcsolatos információkért tekintse meg a Windows dokumentációját. A kiszolgáló átnevezésével kapcsolatos információkért lásd: Stand-Alone SQL Server-példányt futtató számítógép átnevezése és SQL Server feladatátvevő fürtpéldány átnevezése.

  3. Állítsa vissza az adatbázis utolsó naplóját a másodlagos kiszolgálóra a LOG KEEP_REPLICATION lehetőségével RESTORE . Ez megőrzi az adatbázis összes replikációs beállítását. További információt a következő témakörökben talál: Feladatátvétel egy naplóátküldési másodlagos kiszolgálóra (SQL Server) és RESTORE (Transact-SQL).

  4. Állítsa vissza az msdb-adatbázist és a adatbázisokat az elsődlegesről a másodlagosra. További információ: Rendszeradatbázisok (SQL Server) biztonsági mentése és visszaállítása. Ha az elsődleges is forgalmazó volt, állítsa vissza a terjesztési adatbázist az elsődlegesről a másodlagosra.

    Ezeknek az adatbázisoknak összhangban kell lenniük az elsődleges közzétételi adatbázissal a replikáció konfigurációja és beállításai szempontjából.

  5. A másodlagos kiszolgálón állítsa vissza az elsődleges kiszolgálóról biztonsági másolatot készítő szolgáltatás főkulcsát. További információ: RESTORESERVICERESTORE SERVICE MASTER KEY (Transact-SQL).

  6. Szinkronizálja a kiadványadatbázist egy vagy több előfizetési adatbázissal. Ez lehetővé teszi a korábban a közzétételi adatbázisban végrehajtott módosítások feltöltését, de nem jelenik meg a visszaállított biztonsági másolatban. A feltölthető adatok a kiadvány szűrésének módjától függenek:

    • Ha a kiadvány nincs szűrve, akkor a kiadvány adatbázisát naprakésszé teheti, ha a legnaprakészebb Előfizetővel szinkronizálja.

    • Ha a kiadvány szűrve van, előfordulhat, hogy nem tudja a kiadvány adatbázisát up-to-date értékre állítani. Vegyünk fel egy olyan táblát, amely particionált, így minden előfizetés csak egyetlen régióra, északra, keletre, délre és nyugatra kapja meg az ügyféladatokat. Ha minden adatpartícióhoz legalább egy előfizető tartozik, akkor a minden partícióhoz tartozó egy-egy előfizetővel végzett szinkronizálásnak naprakésszé kell tennie a publikációs adatbázist. Ha azonban például a Nyugat partícióban lévő adatokat egyetlen Előfizetőhöz sem replikálták, akkor a Közzétevőnél lévő adatok nem tehetők naprakésszé. Ebben az esetben javasoljuk az összes előfizetés újraincializálását, hogy a Publisher és az Előfizetők adatai konvergensek lesznek. További információ: Előfizetések újrainicializálása.

    Ha olyan előfizetővel szinkronizál, aki a 2005-ös (9.x) SQL Server előtt futtatja a SQL Server verzióját, az előfizetés nem lehet névtelen; ügyfél-előfizetésnek vagy kiszolgáló-előfizetésnek (a korábbi kiadásokban helyi és globális előfizetésnek) kell lennie. További információ: Adatok szinkronizálása.

Lásd még

SQL Server replikáció
Tudnivalók a naplószállításról (SQL Server)Replikáció beállítása Always On rendelkezésre állási csoportok használatával