1. Bevezetés a SQL Server replikáció
1.1 Mi az SQL Server Replikáció?
SQL Server A replikáció olyan technológiák összessége, amelyek lehetővé teszik az adatok és adatbázis-objektumok másolását és terjesztését egyik adatbázisból a másikba, majd az adatbázisok közötti szinkronizálást az egységesség megőrzése érdekében. Ez a funkció lehetővé teszi az adatok több másolatának létrehozását és karbantartását különböző szervereken és helyszíneken, biztosítva az adatok elérhetőségét és megbízhatóságát.
1.2 A replikáció célja és előnyei
SQL Server A replikáció több kritikus üzleti igényt elégít ki, és jelentős előnyöket biztosít az adatbázis-kezelés és az adatelosztás számára:
- Adatok eloszlása telephelyek között: A replikáció lehetővé teszi az adatok megosztását a regionális irodák vagy a globális helyszínek között, javítva a működési hatékonyságot azáltal, hogy biztosítja a szükséges adatokhoz való helyi hozzáférést. Ez csökkenti a hálózati késleltetést és jobb teljesítményt nyújt a földrajzilag elosztott felhasználók számára.
- Magas rendelkezésre állás és katasztrófa utáni helyreállítás: A kritikus adatok több szerveren történő replikációjának fenntartásával a replikáció redundanciát biztosít, amely védelmet nyújt a hardverhibák és katasztrófák ellen. Az elsődleges szerver meghibásodása esetén a replikált másolatok tartalék forrásként szolgálhatnak, minimalizálva az állásidőt és az adatvesztést.
- Terheléselosztás és skálázhatóság: A replikáció több szerver között osztja el az olvasási műveleteket, megakadályozva, hogy egyetlen szerver is szűk keresztmetszetet jelentsen. Ez a megközelítés növeli a rendszer teljesítményét, és lehetővé teszi az infrastruktúra horizontális skálázását az adat- és felhasználói igények növekedésével.
- Valós idejű jelentéskészítés és elemzés: A jelentéskészítési és analitikai lekérdezések replikált szerverekre történő áthárítása csökkenti az éles adatbázisok terhelését. A felhasználók összetett analitikai lekérdezéseket futtathatnak közel valós idejű adatokon az operációs rendszerek befolyásolása nélkül, biztosítva mind a teljesítményt, mind az adatok frissességét.
- Adatintegráció és konszolidáció: A replikáció megkönnyíti a különböző forrásokból származó adatok egyetlen konszolidált nézetbe való egyesítését. Ez különösen értékes a több fiókirodával rendelkező szervezetek számára, amelyeknek a központban kell összesíteniük az adatokat, vagy központosított adattárházak létrehozásához elosztott operációs rendszerekből.
2. SQL Server Replikációs architektúra és komponensek
SQL Server A replikációs architektúra több összekapcsolt komponensből áll, amelyek együttműködve terjesztik és szinkronizálják az adatokat az adatbázis-infrastruktúrán belül. Ez a szakasz a fő komponenseket vizsgálja meg, beleértve a kiadókat, terjesztőket, előfizetőket, kiadványokat, cikkeket, előfizetéseket és az ezek közötti adatáramlást koordináló ügynököket:
- Kiadó: A kiadó egy SQL Server például, hogy hostEgy vagy több adatbázis, amely replikálandó adatokat tartalmaz. Ez a replikációs topológia mérvadó forrásaként szolgál.
- Forgalmazó: A forgalmazó egy SQL Server példány, amely a kiadók és az előfizetők közötti adatáramlást kezeli. A forgalmazói példány hosts a terjesztési adatbázis, amely a replikációs metaadatokat és tranzakciókat tárolja.
- Előfizető: Az előfizető egy SQL Server példány, amely replikált adatokat fogad és tárol a kiadóktól. Egyetlen előfizetői példány működhetost több előfizetői adatbázis, amelyek mindegyike más-más kiadványoktól fogad adatokat.
- Kiadvány: A kiadvány meghatározza, hogy mely adatok replikálódnak, és hogyan kerülnek terjesztésre az előfizetők között. Csoportosítja a kapcsolódó cikkeket, és meghatározza a replikációs módszertant, amely az összes tartalmazott objektumra vonatkozik.
- Cikk: A cikk a replikáció alapvető építőköve, amely egy egyedi adatbázis-objektumot képvisel, amelyet az előfizetőknek terjesztenek.
- Előfizetés: Az előfizetés létrehozza a kiadvány és az előfizető közötti kapcsolatot, meghatározva, hogy az adatok hogyan és mikor kerülnek a céladatbázisba.
- Ügynökök: Az ügynökök olyan speciális folyamatok, amelyek a replikációs komponensek közötti adatmozgatás és -szinkronizálás tényleges munkáját végzik.
3. Típusai SQL Server replikáció
SQL Server számos replikációs típust kínál, amelyek mindegyike adott adatelosztási forgatókönyvekhez és üzleti követelményekhez készült. Az egyes típusok jellemzőinek, előnyeinek és korlátainak megértése elengedhetetlen a környezetének megfelelő megközelítés kiválasztásához.
3.1 Pillanatkép-replikáció
A pillanatkép-replikáció pillanatképet készít a közzéteendő adatokról egy adott időpontban, majd a pontos teljes másolatot eljuttatja az előfizetőknek. A későbbi változtatásokat csak a következő pillanatkép létrehozásakor figyeli. A pillanatkép-replikáció a replikáció legegyszerűbb formája, így alkalmas olyan helyzetekre, ahol az adatok ritkán változnak, vagy ahol a kissé elavult adatok elfogadhatóak.
Gyakori használati esetek közé tartozik a referenciaadatok, például árlisták vagy rendszeresen frissülő árfolyamok terjesztése, kezdeti adatkészletek biztosítása adattárházak számára, valamint olyan forgatókönyvek, ahol a teljes adatfrissítés előnyösebb az egyes változások követése helyett. Például egy vállalat pillanatkép-replikációt használhat a frissített termékkatalógusok napi egyszeri terjesztésére a fiókirodákban.
A pillanatkép-replikáció fő előnyei az egyszerűség, az alacsony karbantartási igény és az adatok elsődleges kulcsok nélküli replikálásának képessége. Jelentős hátrányai is vannak, beleértve a pillanatképek generálásakor jelentkező nagy hatást a táblazárak miatt, a frissítések közötti nagy késleltetést, valamint a nagy adathalmazok vagy a gyakran változó adatok hatékonyságának csökkenését. Az előfizetőknek végrehajtott módosítások...ost amikor a következő pillanatképet alkalmazzák.
3.2 Tranzakciós replikáció
A tranzakciós replikáció közel valós időben juttatja el a változásokat a kiadótól az előfizetőknek azáltal, hogy az egyes tranzakciókat azok bekövetkeztekor replikálja. Egy kezdeti pillanatkép elkészítésével kezdődik, amely létrehozza az alapállapotot, majd folyamatosan figyeli a tranzakciónaplót a közzétett cikkek változásai szempontjából, és fokozatosan eljuttatja azokat az előfizetőknek.
A tranzakciós replikáció ideális a nagy átviteli sebességet és alacsony késleltetést igénylő szerver-szerver forgatókönyvekhez. Gyakori használati esetek közé tartozik a skálázhatóság és a rendelkezésre állás javítása az olvasási műveletek előfizetői szerverekre történő áthárításával, az adattárházak és a közel valós idejű adatokkal történő jelentéskészítés támogatása, több telephelyről származó adatok integrálása egy központi helyre, valamint a kötegelt feldolgozás dedikált szerverekre történő áthárítása. Például egy e-kereskedelmi platform tranzakciós replikációt használhat a szinkronizált készletadatok regionális adatbázisokban történő karbantartására.
A tranzakciós replikáció előnyei közé tartozik az alacsony késleltetésű adatátvitel, a nagy tranzakciómennyiségek nagy átviteli sebessége, valamint a nem replikált módosítások végrehajtásának lehetősége az előfizetőknél. A hátrányok közé tartozik a pillanatkép-replikációhoz képest nagyobb bonyolultság, az elsődleges kulcsok szükségessége a replikált táblákon, valamint a replikáció esetleges megszakadása, ha ütközések, például az elsődleges kulcsok megsértése történik az előfizetőknél.
3.3 Egyesítési replikáció
Az egyesítéses replikációt kifejezetten olyan környezetekre tervezték, ahol az előfizetőknek offline vagy időszakos internetkapcsolattal kell dolgozniuk, majd a változásokat szinkronizálniuk kell, amikor a kapcsolat elérhető. Ez a replikációs típus lehetővé teszi az adatok egymástól függetlenül történő módosítását mind a közzétevőnél, mind az előfizetőknél, a változások nyomon követését triggerek és metaadat-táblázatok segítségével, valamint a módosítások automatikus egyesítését a szinkronizálás során.
Az egyesítési replikációt mobilalkalmazásokhoz és elosztott szerverkörnyezetekhez tervezték, ahol autonóm változások történnek. A felhasználási esetek közé tartozik az értékesítési erő automatizálása, ahol a mobilfelhasználók offline módon dolgoznak, és később szinkronizálnak, az önállóan működő és az adatokat időszakosan konszolidáló értékesítési pont rendszerek, valamint az elosztott alkalmazások, ahol több telephelynek kell frissítenie a megosztott adatokat. Például egy kiskereskedelmi lánc használhat egyesítési replikációt, így minden üzlet kezelheti a helyi készletet, miközben szinkronizál a központi raktárrendszerrel.
Az egyesítéses replikáció előnyei közé tartozik az önálló előfizetők támogatása, akik módosításokat végezhetnek, a szakaszos hálózati kapcsolat toleranciája és a rugalmas ütközésmegoldás. A hátrányok közé tartozik a nagyobb bonyolultság a beállításban és karbantartásban, a metaadatok és triggerek nyomon követéséből adódó teljesítményterhelés, az egyedi azonosító oszlopok hozzáadása a táblázatokhoz, valamint az olyan ütközések lehetősége, amelyek kezelést és megoldást igényelnek.
3.4 Peer-to-Peer replikáció
A peer-to-peer replikáció tranzakciós replikációra épül, és lehetővé teszi, hogy több szerverpéldány (három vagy több csomópont) egyenrangú peerként működjön, ahol minden csomópont egyszerre szolgál közzétevőként és előfizetőként is. Ebben a topológiában minden csomópont azonos adatpéldányokat tart fenn, és képes kezelni mind az olvasási, mind az írási műveleteket, így valóban elosztott többmesteres környezetet biztosít.
A peer-to-peer replikáció olyan alkalmazásokhoz alkalmas, amelyek az olvasási műveletek skálázását és a magas rendelkezésre állást igénylik. A használati esetek közé tartoznak a webes alkalmazások, amelyek katalóguslekérdezéseket osztanak el több csomópont között, miközben konzisztens adatokat tartanak fenn, olyan forgatókönyvek, amelyek karbantartást vagy frissítéseket igényelnek állásidő nélkül a csomópontok egyenkénti offline állapotba hozásával, valamint globális alkalmazások, amelyek adatközpontjai különböző régiókban találhatók. Például egy világméretű szoftvertámogatási szervezet peer-to-peer replikációt használhat különböző időzónákban lévő irodák között, így minden helyszín helyi hozzáféréssel rendelkezik az aktuális adatokhoz.
A peer-to-peer replikáció előnyei közé tartozik a jobb olvasási teljesítmény a scale-out révén, a magasabb rendelkezésre állás több aktív csomóponttal, valamint a közel valós idejű adatkonzisztencia. A hátrányok közé tartozik az Enterprise Edition követelménye, a többcsomópontos topológiák kezelésének összetettsége, az azonos séma és adatok szükségessége minden csomóponton, valamint a konfliktusok lehetősége, ha az írási műveletek nincsenek megfelelően particionálva.
3.5 Kétirányú replikáció
A kétirányú replikáció egy speciális tranzakciós replikációs topológia, amelyet kifejezetten kétkiszolgálós környezetekhez terveztek, ahol mindkét kiszolgálónak változtatásokat kell cserélnie egymással. Mindkét kiszolgáló közzéteszi az adatokat, és feliratkozik ugyanazokra az adatokra a másik kiszolgálóról, így egy egyszerű kétirányú szinkronizációs folyamatot hoz létre. Bár a peer-to-peer replikáció két csomópontot is támogathat, a kétirányú replikáció jobb teljesítményt biztosít ebben a konkrét forgatókönyvben.
A kétirányú replikáció olyan forgatókönyvek esetén megfelelő, amelyek két aktív szervert igényelnek szinkronizált adatokkal, például aktív-aktív konfigurációk esetén a magas rendelkezésre állás érdekében, vagy földrajzilag elosztott alkalmazások esetén, ahol minden telephelynek helyi írási hozzáférésre van szüksége. A topológia gondos alkalmazástervezést igényel az adatfrissítések particionálásához és az ütközések megelőzéséhez.
Az előnyök közé tartozik az optimalizált teljesítmény két szerveres forgatókönyvek esetén, az egyszerűbb konfiguráció a peer-to-peer replikációhoz képest, a közel valós idejű szinkronizáció és az alacsonyabb terhelés az egyesítéses replikációhoz képest. A hátrányok közé tartozik a pontosan két szerverre való korlátozás, a gondos alkalmazástervezést igénylő beépített konfliktusmegoldás hiánya, valamint a konfliktusok megelőzése érdekében megfelelő particionálási stratégiák szükségessége.
3.6 Frissíthető előfizetések
A frissíthető előfizetések kiterjesztik a tranzakciós replikációt, lehetővé téve az előfizetők számára, hogy alkalmanként módosítsák a replikált adatokat, amelyek aztán visszakerülnek a közzétevőhöz és más előfizetőknek. Az egyesítéses replikációval vagy a gyakori kétirányú frissítésekhez tervezett peer-to-peer topológiákkal ellentétben a frissíthető előfizetések olyan forgatókönyvekre szolgálnak, ahol az elsődleges adatfolyam egyirányú (a közzétevőtől az előfizetők felé), de az előfizetőknek időnként javításokat vagy frissítéseket kell végezniük.
A frissíthető előfizetések olyan forgatókönyvekben megfelelőek, ahol most A frissítések a kiadónál történnek, de időnként szükség van frissítésekre az előfizetőknél is, például a terepi irodákban, amelyek elsősorban adatokat olvasnak, de helyi javításokat vagy frissítéseket kell végezniük. A topológia gondos tervezést igényel a konfliktusok minimalizálása és az adatok konzisztenciájának biztosítása érdekében.
A fő előnyök közé tartozik a korlátozott írási műveletek engedélyezése az előfizetőknél, miközben megőrzik a tranzakciós replikáció teljesítményjellemzőit. A hátrányok közé tartozik a megnövekedett bonyolultság, a feloldást igénylő ütközések lehetősége, a kétfázisú véglegesítési protokoll teljesítménynövekedése azonnali frissítési módban, valamint az a követelmény, hogy minden replikált táblának rendelkeznie kell elsődleges kulccsal.
3.7 Különböző típusú replikációk összehasonlítása
| Replikációs típus | Frissítési idő | Kiadók száma | Irány | Használja a Forgatókönyveket |
|---|---|---|---|---|
| Pillanatkép | Időpont | 1 | Egyirányú (Kiadó → Előfizetők) | Ritkán változó referenciaadatok (árlisták, árfolyamok) |
| Tranzakciós | Közel valós időben | 1 | Egyirányú (Kiadó → Előfizetők) | Nagy áteresztőképességű forgatókönyvek (e-kereskedelmi készletgazdálkodás, adattárházak, jelentéskészítés) |
| megy | Periodikus (csatlakozás esetén) | 1 | Kétirányú (Kiadó ↔ Előfizetők) | Mobilalkalmazások, offline dolgozók (értékesítési automatizálás, terepi szolgáltatások) |
| Peer-to-peer | Közel valós időben | Többszörös (3 vagy több) | Kétirányú (minden csomópont) | Globális, több adatközpontot érintő telepítések (világszerte irodák helyi olvasási-írási hozzáféréssel) |
| kétirányú | Közel valós időben | 2 | Kétirányú (mindkét szerver) | Két adatközpontú aktív-aktív konfigurációk (két telephelyű magas rendelkezésre állás) |
| Frissíthető előfizetések | Közel valós időben | 1 | Elsősorban egyirányú (alkalmankénti fordított frissítések) | Azok a fiókirodák, amelyek elsősorban olvassák, de alkalmanként frissítik (helyi javítások) |
4. Beállítás SQL Server replikáció
4.1 Előfeltételek és követelmények
4.1.1 Szoftverkövetelmények
SQL Server a replikáció kompatibilis SQL Server verziók a topológia összes résztvevőjén. A terjesztő verziójának meg kell egyeznie vagy magasabbnak kell lennie a közzétevő verziójánál, és az előfizető a közzétevő két verzióján belül is lehet. Például egy SQL Server 2016-os kiadó replikálhatja SQL Server 2012-es, 2014-es, 2016-os, 2017-es vagy 2019-es előfizetők.
4.1.2 Engedélyezési követelmények
A replikáció konfigurálása minden szinten meghatározott engedélyeket igényel. A fix kiszolgálói rendszergazdai szerepkör tagjai az összes replikációs konfigurációs feladatot elvégezhetik. Részletesebb engedélyekhez a felhasználóknak a db_owner adatbázis-szerepkör tagjainak kell lenniük a közzétevői és előfizetői adatbázisokhoz.
4.2 1. lépés: Az elosztás konfigurálása
A disztribúció konfigurálása az első lépés a beállításban SQL Server replikáció.
Az elosztás konfigurálása a következővel: SQL Server Menedzsment Stúdió:
- Csatlakozzon a SQL Server példányban SQL Server Menedzsment Stúdió.
- Az Objektumkezelőben kattintson a jobb gombbal a replikáció mappát és válassza ki Terjesztés konfigurálása.
- A Terjesztés konfigurálása varázslóban kattintson a Következő az üdvözlő oldalon.
- A Elosztó oldalon válasszon az alábbi lehetőségek közül a topológiai igényei alapján:
- Helyi forgalmazó: Válassza a „Kiszolgálónév saját elosztóként fog működni” lehetőséget. SQL Server „létrehoz egy terjesztési adatbázist és naplót”, ha azt szeretné, hogy a közzétevő és a terjesztő ugyanazon a példányon (az aktuális példányon) fusson. Ez a konfiguráció egyszerűbben beállítható, és kisebb környezetekhez, vagy olyan esetekhez alkalmas, amikor a közzétevő és a terjesztő közötti hálózati késleltetés problémákat okozna.
- Távoli forgalmazó: Válassza a „A következő szerver használata elosztóként” lehetőséget, majd kattintson a hozzáad távoli elosztókiszolgáló megadásához, ha a terjesztési feldolgozást egy különálló példányra szeretné átszervezni. Ez a konfiguráció javítja a teljesítményt nagy replikációs kötetek esetén azáltal, hogy a munkaterhelést több kiszolgáló között osztja el. Meg kell adnia a távoli elosztó nevét, és meg kell adnia egy jelszót, amelyet a közzétevő a elosztóhoz való csatlakozáshoz fog használni.
- Kattints Következő a pillanatkép mappa helyének megadásához. Használjon UNC elérési utat (például \\kiszolgálónév\megosztás\mappa) a helyi elérési út helyett, hogy biztosítsa az elérhetőséget a hálózaton keresztül.
- A Terjesztési adatbázis oldalon fogadja el az alapértelmezett terjesztési adatbázis nevét (általában „terjesztés”), vagy adjon meg egy egyéni nevet, majd konfigurálja az adatok és a naplófájlok helyét.
- A Kiadók oldalon ellenőrizze, hogy az aktuális szerver engedélyezve van-e közzétevőként. Ha a jelenlegi szervert terjesztőként konfigurálja, további közzétevőket is hozzáadhat, akik ezt a terjesztőt fogják használni.
- Tekintse át a varázsló műveleteit, és kattintson a befejez az elosztás konfigurálásához.
4.3 2. lépés: Publikáció létrehozása
A terjesztés konfigurálása után a következő lépés egy olyan kiadvány létrehozása, amely meghatározza, hogy mely adatobjektumok replikálódnak az előfizetőknek.
Kiadvány létrehozása a következővel: SQL Server Menedzsment Stúdió:
- Az Objektumkezelőben bontsa ki a replikáció mappát.
- Kattintson a jobb gombbal Helyi kiadványok és válassza ki a Új kiadvány.
- Az új kiadvány varázslójatarts; kattintás Következő az üdvözlő oldalon.
- Válassza ki a közzétenni kívánt adatbázist a listából Publikációs adatbázis oldal. Ez automatikusan engedélyezi a közzétételt a kiválasztott adatbázisban.
- A Kiadvány típusa oldalon válassza ki a replikáció típusát: Pillanatkép-kiadvány, Tranzakciós publikáció, Peer-to-Peer publikációvagy Kiadvány egyesítése.
- A Cikkek oldal, bontsa ki a Asztalok csomópontot, és válassza ki a cikkként szerepeltetni kívánt táblázatokat.
- Opcionálisan kibontható Tárolt eljárások, Nézetek, vagy más objektumtípusokat további cikkek beillesztéséhez.
- Kattints Cikk tulajdonságai a szűrés vagy más cikkspecifikus beállítások konfigurálásához.
- A Táblázat sorainak szűrése oldal, szükség esetén adjon hozzá sorszűrőket.
- A Pillanatkép-ügynök oldalon válassza ki, hogy mikor szeretné létrehozni a pillanatképet: azonnal, egy adott időpontban vagy ütemezés szerint.
- A Ügynöki biztonság oldalon adja meg a Snapshot Agent biztonsági kontextusát.
- A Varázslóműveletek oldal, válassza ki A kiadvány létrehozása.
- Adja meg a kiadvány nevét, majd kattintson befejez.
4.4 3. lépés: Előfizetés létrehozása
Egy kiadvány létrehozása után a következő lépés az előfizetések létrehozása, amelyek összekapcsolják a kiadványt az előfizetői adatbázisokkal.
Az előfizetések lehetnek push előfizetések (amelyeket a forgalmazó kezel) vagy pull előfizetések (amelyeket az előfizető kezel). A fő különbségek abban rejlenek, hogy hol hozod létre az előfizetést, és melyik ügynöki helyszínt választod ki, ami meghatározza az előfizetés műveletét (push vagy pull).
Push előfizetéshez (a Forgalmazó kezeli):
- A kiadó szerver, bővítés replikáció -> Helyi kiadványok.
- Kattintson jobb gombbal a kiadványra, és válassza a Új előfizetések.
Pull-előfizetéshez (az Előfizető kezeli):
- A előfizető szerver, bővítés replikáció, Jobb klikk Helyi előfizetések, és válassza ki Új előfizetések.
- A A megjelenés oldalon kattintson Találjon SQL Server kiadó és csatlakozz a kiadói szerverhez.
Mindkét előfizetési típushoz tartozó közös varázslólépések:
- Az Új előfizetés varázslóban kattintson az Következő az üdvözlő oldalon.
- Válassza ki a kiadványt, és kattintson a Következő.
- A Forgalmazó ügynök helye oldalon válassza ki az ügynök helyét:
- Push-előfizetésVálassza az „Összes ügynök futtatása a forgalmazónál” lehetőséget – a forgalmazó elküldi a módosításokat az előfizetőknek.
- Lehívásos előfizetésVálassza a „Minden ügynök futtatása az előfizetőjénél” lehetőséget – minden előfizető a Forgalmazótól fogja lekérni a módosításokat.
- A Előfizetők oldalon válassza ki a meglévő előfizetői szervereket, vagy kattintson Add Előfizető hogy újakat adjunk hozzá.
- Minden előfizetőhöz válassza ki a céladatbázist, vagy hozzon létre egy új adatbázist. Jegyzet: Az előfizetési adatbázisnak el kell térnie a közzétevői adatbázistól, még akkor is, ha ugyanazt a SQL Server példa.
- A Terjesztési ügynök biztonsága oldalon kattintson az egyes előfizetések Tulajdonságok gombjára a biztonsági környezet konfigurálásához.
- A Szinkronizációs ütemezés oldalon válassza a folyamatos szinkronizálást vagy az ütemezett szinkronizálást.
- A Előfizetések inicializálása oldal, válassza ki Azonnal inicializáláshoz a varázsló befejezése közben, vagy Első szinkronizáláskor.
- Varázsló műveleteinek áttekintése és kattintás befejez.
5. Monitoring és irányítás SQL Server replikáció
5.1 Replikáció monitorozása a Replication Monitor segítségével
A Replikációfigyelő elindításához:
- In SQL Server Management Studio, kibontás replikáció az Objektumkezelőben.
- Kattintson a jobb gombbal replikáció és válassza ki a Replikációfigyelő indítása.
- Ha nincsenek regisztrált kiadók, kattintson ide Kiadó hozzáadása a bal oldali ablaktáblában.
- A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a hozzáad SQL Server kiadó és csatlakozz a kiadói szerverhez.
- A kiadó a bal oldali panelen jelenik meg, kibontható csomópontokkal a kiadványokhoz és előfizetésekhez.
5.2 Teljesítményfigyelés
5.2.1 Monitor késleltetése
A replikációs késleltetés az az időeltolódás, amely a közzétevőnél bekövetkező változás és a módosítás előfizetőnél történő alkalmazása között telik el. Figyelje a késleltetést annak biztosítása érdekében, hogy az adatok frissessége megfeleljen az üzleti követelményeknek.
A Replikációfigyelő segítségével megtekintheti a késleltetési metrikák értékét az Összes előfizetés lapon. A Késleltetés oszlop az átlagos késleltetést mutatja másodpercben. Tranzakciós replikáció esetén a nyomjelző tokenek pontos késleltetési méréseket biztosítanak azáltal, hogy jelölő tranzakciókat szúrnak be, amelyeket a replikációs folyamaton keresztül követnek nyomon.
Nyomkövető tokenek használatához:
- A Replikációfigyelőben válasszon ki egy tranzakciós kiadványt.
- Kattintson az Nyomjelző zsetonok Tab.
- Kattints Nyomjelző beszúrása egy marker tranzakció befecskendezésére.
- Figyelemmel kísérheti a tokent, ahogy az a kiadótól a forgalmazón át az előfizetőig terjed.
- Tekintse meg az egyes szegmensek szűk keresztmetszetek azonosításához szükséges időt.
5.2.2 Áteresztőképesség monitorozása
Az átviteli sebesség az idő múlásával replikált adatok mennyiségét méri, jellemzően másodpercenkénti tranzakciókban vagy másodpercenkénti parancsokban kifejezve. Figyelje az átviteli sebességet annak biztosítása érdekében, hogy a replikáció lépést tudjon tartani a közzétevői tevékenységgel.
Bár a Replication Monitor alapvető szinkronizálási állapotot biztosít, a kézbesítési sebesség és a részletes átviteli metrikák nem láthatók a grafikus felhasználói felületen. Használjon T-SQL lekérdezéseket a terjesztési adatbázison az átviteli sebesség monitorozásához:
USE distribution
GO
-- Direct join to avoid subquery
SELECT TOP 20
h.time AS [Time],
a.name AS [Agent Name],
h.runstatus AS [Status],
h.delivered_transactions AS [Delivered Transactions],
h.delivered_commands AS [Delivered Commands],
h.delivery_rate AS [Delivery Rate (commands/sec)],
h.delivery_latency AS [Delivery Latency (ms)],
h.comments AS [Comments]
FROM MSdistribution_history h
JOIN MSdistribution_agents a ON h.agent_id = a.id
WHERE a.name LIKE '%MyPublication2%'
AND h.runstatus IN (2, 3, 4, 6)
ORDER BY h.time DESC
GO
Állapotkódok: 1 = Start, 2 = Folyamatban, 3 = Sikeres, 4 = Tétlen, 5 = Újrapróbálkozás, 6 = Sikertelen. Hasonlítsa össze a kézbesítési arányt a közzétevő tranzakciós arányaival, hogy azonosítsa azokat a helyzeteket, ahol a replikáció elmarad. Teljesítményszámlálók a következőkben: Windows teljesítményfigyelő további átviteli mérőszámokat biztosít minden replikációs ügynökhöz.
5.2.3 Szűk keresztmetszetek azonosítása
A replikációs szűk keresztmetszetek a topológia több pontján is előfordulhatnak. A közzétevőnél a pillanatkép-generálási idő vagy a naplóolvasó ügynök késése erőforrás-korlátozásokra utalhat. A replikációs tevékenységek során figyelje a közzétevő CPU-ját, memóriáját és lemez I/O-ját.
A forgalmazónál ellenőrizze a felhalmozódó tranzakciókat a forgalmazási adatbázisban. A nagyszámú el nem terjesztett parancs azt jelzi, hogy a forgalmazó nem tudja tartani a lépést a kézbesítéssel. Figyelje a forgalmazó szerver erőforrásait, és nagy volumenű forgatókönyvek esetén fontolja meg egy dedikált távoli forgalmazó használatát.
Az előfizetőnél a változtatások lassú alkalmazása nem megfelelő erőforrásokból, hiányzó indexekből vagy a beszúrási műveleteket lassító korlátozásokból adódhat. Figyelje az előfizetői erőforrás-kihasználtságot és a lekérdezési teljesítményt, amikor a Distribution Agent fut. Az összetevők közötti hálózati sávszélesség-korlátozások szintén szűk keresztmetszeteket okoznak, különösen nagy adatmennyiségek esetén.
5.3 Replikációs ügynökök kezelése
S 5.3.1tart és Stop Agents
A starvagy leállít egy replikációs ágenst:
- In SQL Server Management Studio, kibontás SQL Server Ügynök -> Állások.
- Keresse meg a replikációs ügynök feladatát (a nevek általában tartalmazzák a kiadványt és az előfizetői adatokat).
- Kattintson jobb gombbal a feladatra, és válassza a lehetőséget Start. Állás or Feladat leállítása.
5.3.2 Ügynökprofilok konfigurálása
Az ügynökprofilok olyan paraméterkészleteket tartalmaznak, amelyek az ügynökök viselkedését szabályozzák. SQL Server alapértelmezett profilokat kínál, amelyek a gyakori forgatókönyvekhez vannak optimalizálva, és egyéni profilokat is létrehozhat az adott igényekhez.
Az ügynökprofilok módosításához:
- Az Objektumkezelőben bontsa ki replikáció.
- Kattintson a jobb gombbal replikáció és válassza ki a Forgalmazói tulajdonságok.
- Kattintson az Profil alapértelmezései gombot.
- Válasszon egy ügynöktípust (Pillanatkép, Naplóolvasó, Terjesztés vagy Egyesítés) a legördülő menüből.
- Válasszon ki egy profilt, és kattintson rá Ingatlanok a paraméterértékek megtekintéséhez.
- Kattints Új profil egyéni profil létrehozása egy meglévő alapján.
- Módosítsa a paramétereket szükség szerint, majd kattintson OK.
Alkalmazzon egy profilt egy ügynökre az előfizetés tulajdonságainak szerkesztésével és a kívánt profil kiválasztásával az Ügynökprofil legördülő menüből.
5.3.3 Ügynökparaméterek és beállítások
Az ügynök paraméterei finomhangolják a teljesítményt és a viselkedést. A Distribution Agent főbb paraméterei közé tartozik a CommitBatchSize (a véglegesítésenként alkalmazott tranzakciók száma), a CommitBatchThreshold (a véglegesítés előtti parancsok száma), a SubscriptionStreams (párhuzamos kapcsolatok a gyorsabb kézbesítés érdekében) és a QueryTimeout (a parancsok időkorlátja).
A Log Reader Agent esetében a fontos paraméterek közé tartozik a ReadBatchSize (a vizsgálatonként beolvasott tranzakciók száma), a ReadBatchThreshold (a kézbesítés előtti parancsok) és a PollingInterval (a naplóbeolvasások közötti késleltetés). Ezeket a paramétereket a tranzakciók mennyisége és a késleltetési követelmények alapján kell módosítani.
5.4 Biztonsági mentéssel és visszaállítással kapcsolatos szempontok
A replikációban részt vevő adatbázisok biztonsági mentése különleges szempontokat igényel. A közzétevő adatbázis esetében elengedhetetlen a rendszeres teljes és tranzakciónapló-mentés. Tranzakciós replikáció során az adatbázisok biztonsági mentésekor a WITH REPLICATION opció használatával jelölje meg az adatbázis biztonsági mentését replikáció támogatására. A replikációs konfiguráció védelme érdekében rendszeresen készítsen biztonsági mentést a terjesztési adatbázisról.
Amikor egy közzétevői adatbázist ugyanarra a szerverre, ugyanazzal a névvel állít vissza, használja a WITH KEEP_REPLICATION beállítást a replikációs állapot megőrzéséhez. Ez a beállítás biztosítja, hogy a naplóolvasó ügynök által még fel nem dolgozott tranzakciók replikációra megjelölve maradjanak, lehetővé téve a replikáció automatikus folytatását az előfizetések újrainicializálása nélkül.
Katasztrófa utáni helyreállítási esetekben, amikor a biztonsági mentések nem érhetők el, megsérülnek, vagy az adatbázisfájlok megsérülnek, speciális helyreállítási eszközökre lehet szükség. DataNumen SQL Recovery képes kinyerni az adatokat sérült vagy hozzáférhetetlen MDF és NDF fájlokból, végső megoldást kínálva, ha a szokásos visszaállítási eljárások kudarcot vallanak.
További részletek a SQL Server biztonsági mentés, lásd a átfogó útmutató.
6. Gyakran Ismételt Kérdések (GYIK)
K: Mi a különbség a pillanatkép és a tranzakciós replikáció között?
A: A pillanatkép-replikáció egy adott időpontban az adatok teljes másolatát készíti, és azt alkalmazza az előfizetőre, ami alkalmas a ritkán változó adatokhoz. Tranzakciós replikációtaregy kezdeti pillanatkép segítségével, majd folyamatosan replikálja az egyes tranzakciókat, amint azok megtörténnek, közel valós idejű szinkronizációt biztosítva a gyakran változó adatokhoz.
K: Replikálhatok különböző SQL Server verziók?
V: Igen, SQL Server A replikáció korlátozott tartományon belül támogatja a verziókompatibilitást. A terjesztő verziójának meg kell egyeznie vagy magasabbnak kell lennie a kiadó verziójánál, és az előfizető a kiadó két verzióján belül lehet. Például, ha a kiadó SQL Server 2016-ban az előfizető lehet SQL Server 2012, 2014, 2016, 2017 vagy 2019.
K: Hogyan kezelhetem az ütközéseket az egyesítés replikációja során?
A: Az egyesítési replikáció beépített ütközésészlelési és -megoldási mechanizmusokat biztosít. A konfliktusfeloldókat cikkszinten konfigurálhatja, választhat a beépített feloldók közül, vagy egyéni konfliktusfeloldókat is megvalósíthat. A konfliktusokat jellemzően prioritás- vagy időbélyeg-alapú módszerekkel oldják meg, azzal a lehetőséggel, hogy manuális ellenőrzés céljából naplózza a konfliktusokat.
K: Milyen teljesítménybeli hatásai vannak a replikációnak?
V: A replikáció többféleképpen is hatással van a teljesítményre: a közzétevő terhelést jelent a változások követése és a pillanatképek generálása miatt, a terjesztő erőforrásokat használ a tranzakciók tárolására és továbbítására, és az adatátvitel során hálózati sávszélességet fogyasztanak. A hatás a replikáció típusától függően változik, a pillanatkép-replikáció időszakos, nagy hatású löketeket okoz, míg a tranzakciós replikáció következetesebb, de folyamatos terhelést biztosít.
K: Hogyan tehetem biztonságossá a replikációs topológiámat?
V: A replikációs topológia biztonságossá tételéhez számos ajánlott gyakorlatot kell alkalmazni: használjon Windows-hitelesítést vagy erős SQL Server hitelesítés, kapcsolatok titkosítása TLS-sel, pillanatfelvétel-mappa megfelelő védelme NTFS engedélyeket, konfigurálja a Publikációs hozzáférési listát (PAL) a hozzáférés szabályozására, használjon külön szolgáltatásfiókokat minimálisan szükséges engedélyekkel minden replikációs ügynökhöz, és rendszeresen naplózza a replikáció biztonsági beállításait.
K: Replikálhatok az Azure SQL Database-be?
V: Igen, tranzakciós replikációval replikálhat az Azure SQL Database-be helyszíni környezetben. SQL Server vagy Azure SQL felügyelt példány közzétevőként és terjesztőként. Az Azure SQL Database előfizetőként szolgálhat, de közzétevőként vagy terjesztőként nem. Az egyesítéses replikáció és a peer-to-peer replikáció nem támogatott az Azure SQL Database esetében.
K: Hogyan figyelhetem a replikációs késleltetést?
A: A replikációs késleltetés figyelése a Replikációfigyelővel SQL Server Management Studio, amely minden előfizetéshez megjeleníti a késési metrikák értékét. Lekérdezheti a terjesztési adatbázis tábláit is, például az MSdistribution_history és az MSrepl_commands táblákat, használhat replikációs ügynökökre jellemző teljesítményszámlálókat, vagy riasztásokat állíthat be a késési küszöbértékek alapján a szinkronizálási késedelmek proaktív észleléséhez és kezeléséhez.
K: Mi történik, ha egy előfizető offline állapotban van?
V: Amikor egy előfizető offline állapotban van, a viselkedés a replikáció típusától függ. Tranzakciós replikáció esetén a tranzakciók a terjesztési adatbázisban halmozódnak, amíg az előfizető újra online állapotba nem kerül, majd a szinkronizálás folytatódik. Egyesítéses replikáció esetén a változásokat mindkét oldalon nyomon követik, és a kapcsolat helyreállásakor egyesítik. A megőrzési időszak beállítása határozza meg, hogy mennyi ideig tárolják az adatokat, mielőtt újra kell inicializálni őket.
K: Hogyan adhatok hozzá új cikkeket egy meglévő kiadványhoz?
V: Új cikkek hozzáadásához egy meglévő kiadványhoz használja a következőt: SQL Server A Management Studio segítségével módosítsa a publikáció tulajdonságait és válasszon ki további objektumokat, vagy használja az sp_addarticle tárolt eljárást. A cikkek hozzáadása után készítsen új pillanatképet, és inicializálja újra az összes előfizetést, hogy az előfizetők biztosan megkapják az új cikkeket. Egyes módosítások a publikációs beállításoktól függően szükségessé tehetik az előfizetés újrainicializálását.
K: Hogyan távolíthatom el a replikációt egy adatbázisból?
A: Az adatbázis replikációjának eltávolításához először törölje az összes előfizetést az sp_dropsubscription paranccsal, majd dobja el a közzétételt az sp_droppublication paranccsal, végül pedig tiltsa le a közzétételt az adatbázisban az sp_replicationdboption paranccsal. Ha a szerver egy disztribútor, tiltsa le a terjesztést az sp_dropdistributor paranccsal. A replikációs konfiguráció eltávolítása előtt mindig készítsen biztonsági másolatot az adatbázisokról.
K: Mi a különbség között SQL Server Replikáció és AlwaysOn rendelkezésre állási csoportok?
A: A replikáció egy adatelosztási és -integrációs megoldás, amely objektumszinten működik, miközben Mindig elérhetőségi csoportok egy magas rendelkezésre állású és katasztrófa utáni helyreállítási megoldás, amely adatbázis-szinten működik.
7. Következtetés
SQL Server A replikáció robusztus keretrendszert biztosít az adatok több adatbázis és helyszín közötti elosztásához és szinkronizálásához. A technológia különböző replikációs típusokon keresztül különféle forgatókönyveket támogat.
A megfelelő replikációs stratégia kiválasztása az Ön konkrét igényeitől függ. Vegye figyelembe az adatváltozás gyakoriságát, a késleltetési követelményeket, azt, hogy az előfizetőknek szükségük van-e frissítésekre, a hálózati jellemzőket és az előfizetői autonómia igényeit. A pillanatkép-replikáció a ritkán változó referenciaadatokhoz működik a leghatékonyabban, ahol a késleltetés nem kritikus fontosságú. A tranzakciós replikáció nagy volumenű forgatókönyvekhez illik, amelyek alacsony késleltetést és elsősorban egyirányú adatáramlást igényelnek.
Válassza az összevont replikációt, ha az előfizetőknek autonóm működésre van szükségük offline képességekkel és kétirányú szinkronizációval. Implementáljon peer-to-peer replikációt a terheléselosztáshoz több aktív csomópont között, közel valós idejű konzisztenciával. Vegye fontolóra hibrid megközelítéseket, amelyek több replikációs típust kombinálnak összetett forgatókönyvek esetén, eltérő követelményekkel.
Referenciák
- Hivatalos Microsoft dokumentum: SQL Server replikáció
- Microsoft hivatalos dokumentum: Replikációtípusok
- Microsoft hivatalos dokumentum: Peer-to-Peer – Tranzakciós replikáció
A szerzőről
Yuan Sheng több mint 10 éves tapasztalattal rendelkező vezető adatbázis-adminisztrátor (DBA) SQL Server környezetekben és vállalati adatbázis-kezelésben. Több száz adatbázis-helyreállítási forgatókönyvet oldott meg sikeresen pénzügyi szolgáltatások, egészségügyi ellátás és gyártási szervezetek számára.
Yuan specializálódott SQL Server adatbázis-helyreállítás, magas rendelkezésre állású megoldások és teljesítményoptimalizálás. Kiterjedt gyakorlati tapasztalata magában foglalja a több terabájtos adatbázisok kezelését, az Always On Availability Groups megvalósítását, valamint az automatizált biztonsági mentési és helyreállítási stratégiák kidolgozását kritikus fontosságú üzleti rendszerekhez.
Yuan műszaki szakértelmének és gyakorlatias megközelítésének köszönhetően átfogó útmutatók készítésére összpontosít, amelyek segítik az adatbázis-adminisztrátorokat és az informatikai szakembereket a komplex problémák megoldásában SQL Server hatékonyan kihívásokat intéz. Folyamatosan naprakész a legújabb információkkal. SQL Server kiadásait és a Microsoft fejlődő adatbázis-technológiáit, rendszeresen tesztelve a helyreállítási forgatókönyveket annak érdekében, hogy ajánlásai a valós legjobb gyakorlatokat tükrözzék.
Kérdései vannak a SQL Server helyreállításra vagy további adatbázis-hibaelhárítási útmutatásra van szüksége? Yuan örömmel fogadja visszajelzéseket és javaslatokat ezen technikai erőforrások fejlesztéséért.














