Magas rendelkezésre állású eszközök az MS SQL Server alkalmazásban

Ebben a cikkben megvizsgáljuk az összes SQL Server technológiát, amely magas rendelkezésre állást és hibatűrést biztosít az SQL Server számára..

A biztonsági mentések jóak, de ha a számla percekre, néha másodpercre megy, csak az adat redundáció és a feladatátvételi egyértelmű terv segít. Az SQL Server különféle lehetőségeket kínál az adat redundancia és a magas rendelkezésre állás megvalósítására.

Tartalom:

  • Az adatbázis tükrözése az SQL Serverben
  • Naplózás az SQL Server alkalmazásban
  • Replikáció a Microsoft SQL Server rendszerben: A módszer áttekintése
  • Mindig rendelkezésre állási csoportokon az SQL Serverben

Az adatbázis tükrözése az SQL Serverben

  • Kapható kiadásokban: szabvány (csak szinkron üzemmódban), Vállalati, Web / expressz - Csak tanú üzemmódban
  • A következő szinten működik: adatbázisok
  • SQL Server verzió: SQL Server 2005, SQL Server 2008
megjegyzés. Az adatbázis tükrözése karbantartási módban van, és az SQL Server jövőbeni verzióiban eltávolítható, ezért nem ajánlott ezt a technológiát az SQL Server 2008-nál magasabb verziókban használni..

A tükrözés adatbázis szinten működik (lehet, hogy még mindig az objektum szintjén), és automatikus / kézi átmenetet biztosít a kiszolgálók között hiba esetén. A tartalék alapja a tükrözés bármelyik üzemmódjában folyamatos helyreállítási állapotban van, ezért nem fog működni.

A tükrözésnek 2 üzemmódja van: szinkron és aszinkron..

egyidejű mód azt jelenti, hogy a fő szerver és a biztonsági mentés teljesen szinkronizálva van. A szinkronizálás azzal a ténnyel érhető el, hogy a főkiszolgálóra érkező adatokat azonnal elküldik a biztonsági mentőkiszolgálóra. A biztonsági mentési kiszolgáló a lehető leggyorsabban írja az adatokat a tranzakciós naplóba a lemezre. Amint a biztonsági mentési kiszolgáló befejezte az adatok írását, jelet küld a főkiszolgálónak, majd a főkiszolgáló írja az adatokat a lemezre. Ebben a módban a tranzakciós idő növekszik, mivel a fő kiszolgálónak meg kell várnia, amíg az adatok lemezre kerülnek a biztonsági mentési kiszolgálón, de ezzel a megközelítéssel az adatvesztés valószínűsége minimális.

Szinkron módban lehetséges a Witness szerver használata. A tanú módban lévő szerver figyeli a tükröző szerver teljesítményét és feladatátvételt kezdeményezhet, vagyis a készenléti szerver aktív állapotba kerül.

Ne feledje, hogy a biztonsági mentési kiszolgáló szűk keresztmetszetei befolyásolják a fő elemet.

aszinkron vagy nagy teljesítményű mód - Ez is működik, azzal a különbséggel, hogy a fő szerver a tranzakciónapló elküldése után nem várja meg a biztonsági másolat válaszát a lemezre történő sikeres írásról.

Ebben a módban a tranzakciók gyorsabbak, és a biztonsági mentési kiszolgáló teljesítménye nem érinti az elsődlegeset, de ha a biztonsági mentési kiszolgálót elsődlegesként helyreállítják, fennáll az adatvesztés veszélye, mivel a kiszolgálók adatai nem vannak szinkronizálva.

A tükrözést csak akkor szabad használni, ha minden feltétel megfelel

  • SQL Server 2008 vagy SQL Server 2005
  • Alacsony hálózati késleltetés az elsődleges szerver és a készenléti állapot között
  • Még egy tranzakció elvesztése kritikus az Ön számára

Ha az eset nem felel meg az összes feltételnek, vegye fontolóra más lehetőségeket..

Naplózás az SQL Server alkalmazásban

  • Kapható kiadásokban: Standard, Web, Enterprise
  • A következő szinten működik: adatbázisok
  • SQL Server verzió: SQL Server 2005 és újabb

A naplózási technológia lehetővé teszi, hogy automatikusan elküldje a tranzakciós naplók biztonsági másolatait a forrás adatbázisból egy vagy több címzett adatbázisba, majd visszaállítsa azokat a címzett adatbázisaiba. Lehetőség van egy harmadik kiszolgálóra is, amely felügyeleti szolgáltatás szerepét látja el - a biztonsági mentés és a naplók visszaállításának nyomon követésére.

SQL Server megfigyelés és diagnosztika külön cikkben tárgyalva.

A naplófuttatás beállítása után munkahelyek jönnek létre. A működés elve a következő:

  1. Az első feladat a tranzakciós napló biztonsági mentése az elsődleges kiszolgálón
  2. A második feladat a biztonsági mentés elosztása az összes fogadó kiszolgálóra
  3. A harmadik feladat visszaállítja a naplókat az összes címzett adatbázisra. A helyreállítás elérhető Nincs helyreállítási vagy készenléti módban.

Ez egy egyszerűbb technológia a tükrözéssel és az állandó bekapcsolással kapcsolatban. A fatörzskönyvet akkor kell használni, ha:

  • Az elsődleges kiszolgáló és a célkiszolgáló közötti adatkülönbség elfogadható. A feladatok elvégzésének szokásos ütemezése 15 percenként. Kevesebbet tehet, de figyelembe kell vennie a hálózaton keresztüli adatátvitel sebességét és a naplók visszaállításának idejét.
  • Az olvasási hozzáféréshez hozzáférni szeretne a fogadó adatbázisokhoz. Ez akkor lehetséges, ha a helyreállítási mód készenléti módba van állítva. De ne feledje, hogy az adatbázishoz csak a napló helyreállítása között férhet hozzá.

Replikáció a Microsoft SQL Server rendszerben: A módszer áttekintése

  • Kapható kiadásokban: Szabványos és webes korlátozással, vállalati
  • A következő szinten működik: Adatbázis-objektum
  • SQL Server verzió: SQL Server 2000 és újabb
Tekintse meg az SQL Server kiadásainak és licenc funkcióinak áttekintését..

A replikáció különféle típusai vannak:

  • Tranzakciós replikáció
  • Peer-to-peer tranzakciós replikáció
  • Pillanatkép-replikáció
  • Egyesítés replikáció

Van még 2 topológia, tranzakciós replikáción alapulva:

  • Kétirányú tranzakciós replikáció
  • Megújuló előfizetések tranzakciós replikációhoz (a szolgáltatás támogatva van az SQL Server 2012-2016 verzióiban)

A replikáció különféle célokra használható, de elsősorban az OLTP-kiszolgálók letöltésére kiválasztott lekérdezésekkel és a magas rendelkezésre állás érdekében. Noha a Microsoft a replikációt nem a magas rendelkezésre állás elérésének eszközeként tartja szem előtt, valószínűleg teljesíti ezt a szerepet..

Megjegyzés: Az SQL Server replikációs modellben háromféle kiszolgáló található:

  • kiadó (kiadó) - szerver, amely cikkeket publikál
  • elosztó (disztribútor) - olyan kiszolgáló, amely cikkeket terjeszt az előfizető kiszolgálókra
  • előfizető (előfizető) - az a kiszolgáló, amely fogadja az elosztott cikkeket

A megjelenítőn kiválasztott objektumokon bekövetkező változásokat először a forgalmazónak küldik, majd a forgalmazó ezeket a változásokat az előfizetőknek küldi el..

Vegye figyelembe a replikáció négy alaptípusát

Tranzakciós replikáció

Az ilyen típusú replikációt "majdnem valósidejű" adatok replikálására használják, azaz az előfizetőkre vonatkozó adatok szinte azonnal megjelennek, figyelembe véve az adatok hálózaton keresztüli másolásának idejét..

A kiadótól származó tranzakciókat elküldik a disztribútornak, a disztribútor ezeket az tranzakciókat az előfizetőknek küldi el. A disztribútor azonnal vagy egy meghatározott ütemezés szerint adatokat küldhet az előfizetőknek. A replikációban részt vevő előfizetői entitásokat csak írásvédett hozzáférésként szabad felhasználni, különben az adatok következetlenek lesznek és konfliktusok merülnek fel.

Peer-to-peer tranzakciós replikáció

A peer-to-peer vagy peer-to-peer tranzakciós replikáció hasonló a szokásos tranzakciós replikációhoz, de több kiszolgálóval egyszerre képes működni.

Az egymás közötti replikációt master-master replikációnak lehet nevezni (normál tranzakciós replikáció esetén master-slave lenne). Vegye figyelembe a Microsoft dokumentációjában szereplő diagramot

Az SQL Server minden olyan példánya, amely részt vesz az egyenrangú replikációban, képes kezelni az olvasási és írási műveleteket. Az ilyen típusú replikációban is konfliktusmegoldó mechanizmust biztosítunk, amikor ugyanaz a művelet egyszerre több szerverre érkezik, például egy frissítési kérelem. De még ezt a mechanizmust szem előtt tartva sem javasoljuk, hogy egyszerre több példányra írjon adatokat..

Az ilyen típusú replikáció felhasználható a terhelés kiegyenlítésére, beleértve a frissítési / beszúrási / törlési műveleteket..

Pillanatkép-replikáció

Ez egy speciális típusú replikáció, amely nem követi a kiadó adatainak változásait, de egy bizonyos ütemezés szerint pillanatképet készít és elküldi az előfizetőknek (a disztribútoron keresztül).

A pillanatfelvétel-replikáció nem alkalmazza az összes tranzakciót egymás után, mint a napló kézbesítése és a tranzakciós replikáció esetén, hanem az adatokat a bcp-n keresztül másolja.

Az ilyen típusú replikáció akkor érdemes használni, ha:

  • Az adatok ritkán változnak
  • Megengedett adatkülönbség a kiadó és az előfizető között
  • Nagy változásmennyiség rövid idő alatt

Egyesítés replikáció

A mechanizmus hasonló a peer-to-peer tranzakciós replikációhoz, de számos fontos különbség van:

  • Az egyesítési replikációnak csak egy kiadója és több előfizetője lehet, ha - mint a peer-to-peer replikáció esetén - az összes példány egyenlő egymással (egyszerre mind kiadók, mind előfizetők
  • Az egyesített replikációban az előfizetők eltérő adatokat kaphatnak, ha az összes kiszolgálón azonos adatok vannak az egyenrangú replikációban.
  • Az egyesítés replikációja megoldhatja a konfliktusokat, peer-to-peer - nem
  • A peer-to-peer replikáció csak az Enterprise kiadásban érhető el

Az egyesítés replikációját akkor kell használni, amikor adatkonszolidálni kell..

Kétirányú tranzakciós replikáció és frissített tranzakciós replikációs előfizetések

A kétirányú tranzakciós topológia, ahol a normál tranzakciós replikáció úgy van konfigurálva, hogy ugyanazokat az adatokat replikálja. Az sp_addsubscription @loopback_detection paraméterét TRUE értékre kell állítani

A megújuló tranzakciós replikációs előfizetések hasonlóak az egyesítés replikációjához. Ez a technológia elég gyorsan elavulttá vált, mivel gyakorlatilag nem használták fel, és más típusú replikációval váltotta fel..

Mindig rendelkezésre állási csoportokon az SQL Serverben

  • Kapható kiadásokban: szabvány (korlátozásokkal), Vállalkozás (
  • A következő szinten működik: adatbázisok
  • SQL Server verzió: SQL Server 2012 és újabb

A Mindig rendelkezésre állási csoportok megjelentek az SQL Server 2012 kiadásban. Ez az adatbázis tükröződésének alternatívája (bár valószínűbb fejlesztés)..

A Mindig rendelkezésre állással csoportok alapja: Windows Server feladatátvételi fürt, de a 2017-es verziótól kezdve lehetővé vált a használata Mindig bekapcsolva WSFC nélkül. Mindig be van kapcsolva az adatbázis tükrözéséhez (szinkron és aszinkron mód), de lehet akár 8 másodlagos replika. A Mindig bekapcsolva támogatja az automatikus feladatátvételt (vagyis amikor egy klaszter elsődleges példánya összeomlik, a WSCF kiválaszt egy új elsődleges replikát, és átirányítja az írási kérelmeket).

A rendelkezésre állási csoport minden példánya lehet elsődleges (fő) vagy másodlagos (Másodlagos). A másodlagos replikák lehetnek benne is csak olvasható, vagy be Nincs helyreállítás. A rendelkezésre állási csoport minden egyes példánya tartalmazza a rendelkezésre állás csoport adatbázisának másolatát. Ne feledje, hogy szinkron módban a tranzakciók sebessége a rendelkezésre állási csoport "leglassabb" tagjától függ.

Az alapbeállításban a Mindig bekapcsolás egyszerű, az SQL Server telepítése után mindent konfigurálhat a varázsló segítségével (WSFC a Windows beépülő modulján keresztül, és maguk a hozzáférési csoportok a varázslón keresztül az SSMS-ben). Nagyszámú kiszolgáló és összetett infrastruktúra esetén azonban alaposan meg kell tanulmányoznia a dokumentációt.

Ajánlott a Mindig bekapcsolást ugyanazon helyzetekben használni, amikor tükrözik, vagy ha a kiválasztott lekérdezések terheléselosztására van szüksége. Azt is javasoljuk, hogy biztonsági másolatot készítsen másodlagos replikákból, ez a rendelkezésre állási csoportok egy másik alkalmazása.

Az SQL Server mindig elérhető elérhetőségi csoportjairól további információt a következő helyen talál:.

Az SQL Server az adatok elérhetőségi megoldásainak széles skáláját kínálja. Ha rendelkezik Enterprise Edition és SQL Server 2012 (és újabb) verzióval, akkor jobb, ha mindig az On lehetőséget használja. A replikáció felhasználható az OLTP rendszerek kiválasztott lekérdezésekkel történő letöltésére és részleges redundanciára (bár az egyenrangú replikáció az adatok redundanciájának teljes eszközét képezi). A tranzakciónapló szállítása és az adatbázis tükrözése használható az SQL Server régebbi verzióiban, vagy ha a feltételek arra kényszerítik, hogy használja ezeket a technológiákat..

Ne feledje, hogy az SQL Server fenti, magas rendelkezésre állású technológiái nem helyettesítik a biztonsági mentéseket..