Megosztás:


Az Always On rendelkezésre állási csoport rendelkezésre állási módjai közötti különbségek

A következőkre vonatkozik:SQL Server

Az Always On rendelkezésre állási csoportokban a rendelkezésre állási mód egy replikatulajdonság, amely meghatározza, hogy egy adott rendelkezésre állási replika képes-e szinkron véglegesítési módban futni. Minden rendelkezésre állási replikához a rendelkezésre állási módot szinkron véglegesítési módra, aszinkron véglegesítésre vagy csak konfigurációs módra kell konfigurálni.

Ha az elsődleges replika aszinkron véglegesítési módra van konfigurálva, nem várja meg, hogy a másodlagos replika a bejövő tranzakciónapló-rekordokat lemezre írja ( a napló megkeményítése érdekében).

Ha egy adott másodlagos replika aszinkron véglegesítési módra van konfigurálva, az elsődleges replika nem várja meg, hogy a másodlagos replika megerősítse a naplót. Ha az elsődleges replika és az adott másodlagos replika is szinkronizált véglegesítési módra van konfigurálva, az elsődleges replika megvárja, amíg a másodlagos replika meg nem erősítette a naplót (kivéve, ha a másodlagos replika nem pingeli az elsődleges replikát az elsődleges munkamenet-időtúllépési időszakon belül).

Megjegyzés:

Ha egy szinkron véglegesítésű másodlagos replika túllépi az elsődleges replika munkamenet-időtúllépési időszakát (alapértelmezés szerint 10 másodperc), az elsődleges replika ideiglenesen a másodlagos replika összes adatbázisának szinkronizálási állapotát jelöli a replika állapotaként NOT SYNCHRONIZINGNOT_HEALTHY. Amikor a másodlagos replika újra csatlakozik az elsődleges replikához, visszatérnek a szinkronisált véglegesítés módjába.

Támogatott rendelkezésre állási módok

Az Always On rendelkezésre állási csoportok három rendelkezésre állási módot támogatnak:

  • Aszinkron véglegesítési mód
  • Szinkron véglegesítési mód
  • Csak konfigurációs mód

Az aszinkron véglegesítési mód egy vészhelyreállítási megoldás, amely akkor működik jól, ha a rendelkezésre állási replikák jelentős távolságokra vannak elosztva. Ha minden másodlagos replika aszinkron véglegesítési módban fut, az elsődleges replika nem várja meg, amíg valamelyik másodlagos replika megkeményíti a naplót. Ehelyett közvetlenül azután, hogy a naplórekordot a helyi naplófájlba írta, az elsődleges replika elküldi a tranzakció megerősítését az ügyfélnek. Az elsődleges replika minimális tranzakciós késéssel fut az aszinkron véglegesítési módhoz konfigurált másodlagos replikához képest.

Ha az aktuális elsődleges az aszinkron véglegesítési rendelkezésre állási módhoz van konfigurálva, a tranzakciókat aszinkron módon véglegesíti az összes másodlagos replika számára az egyéni rendelkezésre állási mód beállításaitól függetlenül.

További információ: Asynchronous-Commit rendelkezésre állási mód, a cikk későbbi részében.

A szinkron véglegesítési mód a megnövekedett tranzakciós késés árán a teljesítmény feletti magas rendelkezésre állást hangsúlyozza. Szinkron véglegesítési módban a tranzakciók addig nem küldik el a tranzakció megerősítését az ügyfélnek, amíg a másodlagos replika nem írta ki a naplót a lemezre. Amikor egy másodlagos adatbázisban megkezdődik az adatszinkronizálás, a másodlagos replika megkezdi a bejövő naplórekordok alkalmazását a megfelelő elsődleges adatbázisból. Amint minden naplórekordot véglegesítettek, a másodlagos adatbázis belép az SYNCHRONIZED állapotba. Ezt követően a másodlagos replika minden új tranzakciót megerősít, mielőtt a naplórekordot a helyi naplófájlba írná. Ha egy adott másodlagos replika összes másodlagos adatbázisa szinkronizálva van, a szinkron véglegesítési mód támogatja a manuális feladatátvételt és opcionálisan az automatikus feladatátvételt.

További információ: Synchronous-Commit rendelkezésre állási mód, a cikk későbbi részében.

A konfigurációs mód csak olyan rendelkezésre állási csoportokra vonatkozik, amelyek nem Windows Server-feladatátvevő fürtön találhatóak. A csak konfigurációs módban lévő replika nem tartalmaz felhasználói adatokat. Csak konfigurációs módban a replikaadatbázis master tárolja a rendelkezésre állási csoport konfigurációs metaadatait. További információ: Rendelkezésre állási csoport konfigurációinak magas rendelkezésre állása és adatvédelem.

Az alábbi ábrán egy rendelkezésre állási csoport látható öt rendelkezésre állási replikával. Az elsődleges és egy másodlagos replika szinkron véglegesítési módra van konfigurálva automatikus feladatátvétellel. Egy másik másodlagos replika konfigurálva van a szinkron-véglegesítési módhoz csak tervezett manuális feladatátvétellel, és két másodlagos replika van konfigurálva aszinkron véglegesítési módhoz, amely csak a kényszerített manuális feladatátvételt támogatja (általában kényszerített feladatátvételt).

A replikák rendelkezésre állási és feladatátvételi módjainak diagramja.

A két rendelkezésre állási replika szinkronizálási és feladatátvételi viselkedése mindkét replika rendelkezésre állási módjától függ. Például a szinkron véglegesítéshez az elsődleges replikát és a másodlagos replikát is konfigurálni kell a szinkron véglegesítéshez. Az automatikus feladatátvételhez hasonlóan mindkét replikát konfigurálni kell az automatikus feladatátvételhez. Ezért a korábban illusztrált üzembe helyezési forgatókönyv viselkedését az alábbi táblázatban lehet összefoglalni, amely az egyes lehetséges elsődleges replikák viselkedését vizsgálja:

Aktuális elsődleges replika Automatikus feladatátvételi célok Szinkron véglegesítési mód viselkedése a Aszinkron véglegesítési mód viselkedése a Automatikus átfutás lehetséges
01 02 02 és 03 04 Igen
02 01 01 és 03 04 Igen
03 01 és 02 04 Nem
04 01, 02 és 03 Nem

A Node 04 általában aszinkron véglegesítési replikaként van üzembe helyezve egy vészhelyreállítási helyen. Az a tény, hogy a 01., 02. és 03. csomópont aszinkron véglegesítési módban marad a 04-es csomópontra való feladatátvétel után, segít megelőzni a rendelkezésre állási csoportban a két hely közötti magas hálózati késés miatti teljesítménycsökkenést.

Aszinkron véglegesítés rendelkezésre állási mód

Aszinkron véglegesítési módban a másodlagos replika soha nem lesz szinkronizálva az elsődleges replikával. Bár egy adott másodlagos adatbázis felzárkózhat a megfelelő elsődleges adatbázishoz, bármely másodlagos adatbázis bármikor lemaradhat. Az aszinkron véglegesítési mód olyan vészhelyreállítási forgatókönyvekben lehet hasznos, amikor az elsődleges replika és a másodlagos replika jelentős távolságra van egymástól, és nem szeretné, hogy kisebb hibák hatással legyenek az elsődleges replikára, vagy olyan helyzetekben, ahol a teljesítmény fontosabb a szinkronizált adatvédelemnél. Továbbá, mivel az elsődleges replika nem várja meg a másodlagos replika nyugtázását, a másodlagos replika problémái soha nem érintik az elsődleges replikát.

Az aszinkron véglegesítésű másodlagos replika megpróbálja lépést tartani az elsődleges replikától kapott naplórekordokkal. Az aszinkron véglegesítésű másodlagos adatbázisok azonban mindig nem szinkronizálódnak, és valószínűleg némileg elmaradnak a megfelelő elsődleges adatbázisoktól. Az aszinkron véglegesítésű másodlagos adatbázis és a megfelelő elsődleges adatbázis közötti különbség általában kicsi. A rés azonban jelentős lehet, ha a másodlagos replikát üzemeltető kiszolgáló túl van töltve, vagy a hálózat lassú.

Az aszinkron véglegesítési mód által támogatott feladatátvétel egyetlen formája a kényszerített feladatátvétel (lehetséges adatvesztéssel). A feladatátvétel kényszerítése csak olyan helyzetekre vonatkozik, amikor az aktuális elsődleges replika hosszabb ideig nem érhető el, és az elsődleges adatbázisok azonnali rendelkezésre állása kritikusabb, mint a lehetséges adatvesztés kockázata. A feladatátvételi célnak olyan replikának kell lennie, amelynek a szerepe az SECONDARY vagy RESOLVING állapotban van. Az átvételi célpont átveszi az elsődleges szerepet, és az adatbázis másolatai az elsődleges adatbázissá válnak. A rendszer felfüggeszti a fennmaradó másodlagos adatbázisokat, valamint a korábbi elsődleges adatbázisokat, amint azok elérhetővé válnak, amíg manuálisan nem folytatja őket egyenként. Aszinkron véglegesítési módban minden olyan tranzakciónapló elveszik, amelyet az eredeti elsődleges másolat még nem továbbított a korábbi másodlagos másolatra. Ez azt jelenti, hogy előfordulhat, hogy az új elsődleges adatbázisok némelyike vagy mindegyike nem rendelkezik a közelmúltban lekötött tranzakcióval. A kényszerített feladatátvétel működésével és a használatuk ajánlott eljárásaival kapcsolatos további információkért lásd: Feladatátvételi és feladatátvételi módok (Always On Rendelkezésre állási csoportok).

Szinkron véglegesítés rendelkezésre állási mód

A szinkron véglegesítési rendelkezésre állási mód (szinkron véglegesítési mód) alatt, miután csatlakozott egy rendelkezésre állási csoporthoz, a másodlagos adatbázis a megfelelő elsődleges adatbázishoz csatlakozik, és belép az SYNCHRONIZED állapotba. A másodlagos adatbázis mindaddig megmarad SYNCHRONIZED , amíg az adatszinkronizálás folytatódik. Ez garantálja, hogy egy adott elsődleges adatbázisban lekötött összes tranzakció a megfelelő másodlagos adatbázisban lesz véglegesítésre. Ha egy adott másodlagos replika összes másodlagos adatbázisa szinkronizálva van, a másodlagos replika szinkronizálási állapota teljes egészében HEALTHY.

Ebben a szakaszban:

Az adatszinkronizálást megzavaró tényezők

Az összes adatbázis szinkronizálása után egy másodlagos replika belép az HEALTHY állapotba. A szinkronizált másodlagos replika kifogástalan állapotban marad, kivéve, ha az alábbiak egyike következik be:

  • A hálózati vagy számítógépes késés vagy hiba miatt a másodlagos replika és az elsődleges replika közötti munkamenet időtúllépést okoz.

    Megjegyzés:

    A rendelkezésre állási replikák munkamenetidő-tulajdonságáról további információt lásd: Mi az Always On elérhetőségi csoport?

  • Felfüggeszt egy másodlagos adatbázist a másodlagos replikán. A másodlagos replika megszűnik szinkronban lenni, és a szinkronizálási állapota „NEM EGÉSZSÉGES”-ként van megjelölve. A másodlagos replika nem válhat újra kifogástalan állapotúvá, amíg a felfüggesztett másodlagos adatbázist vagy nem helyezik újra működésbe és szinkronizálják újra, vagy nem távolítják el a rendelkezésre állási csoportból.

  • Egy elsődleges adatbázist kell hozzáadnia a rendelkezésre állási csoporthoz. A korábban szinkronizált másodlagos replikák a NOT_HEALTHY szinkronizálási állapotba kerülnek. Ez az állapot azt jelzi, hogy legalább egy adatbázis szinkronizálási NOT SYNCHRONIZING állapotban van. Egy adott másodlagos replika csak akkor lehet újra, HEALTHY ha a replikán előkészített egy megfelelő másodlagos adatbázist, csatlakozott a rendelkezésre állási csoporthoz, és szinkronizálva lett az új elsődleges adatbázissal.

  • Az elsődleges vagy a másodlagos replikát aszinkron elköteleződési rendelkezésre állási módra módosítja. Az aszinkron véglegesítési módra váltás után a másodlagos replika mindaddig szinkronizálási egészségi állapotban HEALTHY marad, amíg az adatszinkronizálás folytatódik. Ha azonban csak az elsődleges replikát aszinkron véglegesítési módra váltják, a szinkron véglegesítési másodlagos replika a szinkronizációs egészségi állapotba kerül PARTIALLY_HEALTHY. Ez az állapot azt jelzi, hogy legalább egy adatbázis szinkronizálási állapotban SYNCHRONIZING van, de egyik adatbázis sem szerepel az NOT SYNCHRONIZING állapotban.

  • Bármely másodlagos replikát szinkronizált-véglegesítési rendelkezésre állási módra kell módosítania. Ez azt eredményezi, hogy a másodlagos replika a PARTIALLY_HEALTHY szinkronizációs egészség állapotban lesz megjelölve, amíg az összes adatbázisa szinkronizálási SYNCHRONIZED állapotba nem kerül.

Jótanács

Egy rendelkezésre állási csoport, rendelkezésre állási replika vagy rendelkezésre állási adatbázis szinkronizálási állapotának megtekintéséhez kérdezze le a synchronization_health, synchronization_health_desc vagy sys.dm_hadr_database_replica_states megfelelő oszlopát, vagy .

A szinkronizálás működése másodlagos replikán

Szinkron véglegesítési módban, miután egy másodlagos replika csatlakozik a rendelkezésre állási csoporthoz, és létrehoz egy munkamenetet az elsődleges replikával:

  1. A másodlagos replika a bejövő naplórekordokat lemezre írja (megkeményíti a naplót).
  2. A másodlagos replika megerősítő üzenetet küld az elsődleges replikának.

Miután a másodlagos adatbázis megerősített naplója elérte az elsődleges adatbázis naplójának végét, a másodlagos adatbázis állapota a következőre SYNCHRONIZEDvan állítva: .

A szinkronizáláshoz szükséges idő attól függ, hogy a másodlagos adatbázis milyen messze volt az elsődleges adatbázis mögött a munkamenet elején. Ezt a különbözetet az elsődleges replikától eredetileg kapott naplórekordok száma, az elsődleges adatbázis munkaterhelése és a másodlagos replika példánygazda-állomásának sebessége méri.

A tranzakciós folyamat

Szinkron véglegesítési módban a tranzakciók mindkét replika számára véglegesítve lesznek ebben a sorrendben:

  1. Az elsődleges replika tranzakciót kap egy ügyféltől.

  2. Az elsődleges replika írja a rekordot a tranzakciónaplóba, és egyidejűleg elküldi a naplórekordot a másodlagos replikáknak.

    Miután egy naplórekordot írtak az elsődleges adatbázis tranzakciónaplójába, a tranzakció csak akkor vonható vissza, ha átváltás történik egy olyan másodlagosra, amely nem kapta meg a naplót.

  3. Az elsődleges replika megvárja a szinkron-elköteleződés megerősítését a másodlagos replikától.

  4. A másodlagos replika megszilárdítja a naplót, és visszaigazolást ad az elsődleges replikának.

  5. Az elsődleges replika befejezi a véglegesítés feldolgozását, és megerősítő üzenetet küld az ügyfélnek.

Szinkron véglegesítés időtúllépése

Ha egy szinkron véglegesítésű másodlagos replika időtúllép, mielőtt megerősítené, hogy a napló tartalmát véglegesen rögzítette, a következő események történnek a rendelkezésre állási csoportban:

  1. Az elsődleges replika sikertelenként jelöli meg a másodlagos replikát.
  2. A másodlagos replika állapota a következőre változik DISCONNECTED: .
  3. Az elsődleges megáll és megerősítésre vár.
  4. A rendelkezésre állási csoport a szinkronizálási állapotot NOT SYNCHRONIZING a következőképpen jelöli, a replika állapotát pedig a következőként NOT_HEALTHY: .

Ez a viselkedés biztosítja, hogy a sikertelen szinkron véglegesítésű másodlagos replika ne akadályozza meg a naplók megkeményedését az elsődleges replikán.

Ha a másodlagos replika újra online állapotban van:

  1. A másodlagos replika állapota a következőre változik CONNECTED: .
  2. A másodlagos replika feldolgozza az elsődleges replika naplóküldési üzenetsorát.
  3. A szinkronizálási állapot SYNCHRONIZING-ra vált, és a replika állapota PARTIALLY_HEALTHY-ra.

A naplóküldési üzenetsor feldolgozása után a szinkronizálási állapot SYNCHRONIZED lesz, és a replika állapota HEALTHY.

A szinkron véglegesítési mód azáltal védi az adatokat, hogy az adatokat két hely között kell szinkronizálni, a tranzakció késésének némi növelésével.

Szinkron véglegesítési mód csak manuális átváltással

Ha ezek a replikák csatlakoztatva vannak, és az adatbázis szinkronizálva van, a manuális feladatátvétel támogatott. Ha a másodlagos replika leáll, az elsődleges replikára ez nincs hatással. Az elsődleges replika ki van téve, ha nincsenek SYNCHRONIZED replikák (vagyis nem küld adatokat másodlagos replikáknak). Ha az elsődleges replika elveszett, a másodlagos replikák belépnek az RESOLVING állapotba, de az adatbázis tulajdonosa feladatátvételt kényszeríthet a másodlagos replikára (lehetséges adatvesztéssel). További információ: Átállás és átállási módok (Always On elérhetőségi csoportok).

Szinkron véglegesítési mód automatikus feladatátvétellel

Az automatikus feladatátvétel magas rendelkezésre állást biztosít azáltal, hogy az adatbázis gyorsan újra elérhetővé válik az elsődleges replika elvesztése után. Ha egy rendelkezésre állási csoportot szeretne konfigurálni az automatikus feladatátvételhez, az aktuális elsődleges replikát és legalább egy másodlagos replikát szinkron véglegesítési módra kell állítania automatikus feladatátvétellel. Az SQL Server 2019 (15.x) 5-re növelte a szinkron replikák maximális számát az SQL Server 2017 3-ról (14.x). Ezt az öt replikából álló csoportot úgy konfigurálhatja, hogy a csoporton belül automatikus feladatátvétel legyen. Van egy elsődleges replika, valamint négy szinkron másodlagos replika.

Továbbá ahhoz, hogy egy adott időpontban automatikus feladatátvétel lehetséges legyen, ezt a másodlagos replikát szinkronizálni kell az elsődleges replikával (azaz a másodlagos adatbázisok mind szinkronizálva vannak), és a Windows Server feladatátvételi fürtszolgáltatásnak (WSFC) fürtnek kvórummal kell rendelkeznie. Ha az elsődleges replika ilyen feltételek mellett elérhetetlenné válik, automatikus átállás történik. A másodlagos replika átáll az elsődleges szerepkörbe, és elsődleges adatbázisként funkcionál. További információt a Feladatátvételi és feladatátvételi módok (Always On rendelkezésre állási csoportok) című cikk "Automatikus feladatátvétel" című szakaszában talál.

Megjegyzés:

A WSFC kvórumáról és az Always On rendelkezésre állási csoportokról további információt a WSFC kvórummódjai és szavazási konfigurációja (SQL Server) című témakörben talál.

Adatkésés másodlagos példányon

A másodlagos replikák írásvédett hozzáférésének megvalósítása akkor hasznos, ha az írásvédett számítási feladatok képesek némi adatkésést elviselni. Olyan esetekben, amikor az adatkésés elfogadhatatlan, érdemes lehet írásvédett számítási feladatokat futtatni az elsődleges replikán.

Az elsődleges replika naplórekordokat küld az elsődleges adatbázis változásairól a másodlagos replikáknak. Minden másodlagos adatbázisban egy dedikált ismétlési szál alkalmazza a naplórekordokat. Olvasási hozzáférésű másodlagos adatbázisban egy adott adatváltozás csak akkor jelenik meg a lekérdezési eredményekben, ha a módosítást tartalmazó naplórekordot alkalmazták a másodlagos adatbázisra, és a tranzakciót az elsődleges adatbázisban véglegesítették.

Ez azt jelenti, hogy az elsődleges és a másodlagos replikák között van némi késés, általában csak másodpercek kérdése. Szokatlan esetekben azonban, például ha a hálózati problémák csökkentik az átviteli sebességet, a késés jelentős lehet. A késleltetés nő, amikor I/O-szűk keresztmetszetek jelentkeznek, és amikor az adatmozgás fel van függesztve. A felfüggesztett adatáthelyezés figyeléséhez használhatja az Always On rendelkezésre állási csoport irányítópultját (SQL Server Management Studio) vagy a sys.dm_hadr_database_replica_states dinamikus felügyeleti nézetet.

Az SQL Server 2025 (17.x) és újabb verziók késésének csökkentése érdekében csökkentheti (ezredmásodpercben) azt az időt, amelyet az elsődleges replika a másodlagos replika tranzakcióinak véglegesítéséhez igényel. További információkért lásd: Kiszolgálókonfiguráció: elérhetőségi csoport véglegesítési ideje (ms).

A rendelkezésre állási mód és a feladatátvételi mód módosítása

A kvórumszavazatok módosításához

Kézi áttérés végrehajtása

A rendelkezésre állási csoport, a rendelkezésre állási replika és az adatbázis állapotának megtekintése