Megosztás a következőn keresztül:


Mi az az elkülönített rendelkezésre állási csoport?

A következőkre vonatkozik: SQL Server 2022 (16.x)

Az elkülönített rendelkezésre állási csoport egy Always On rendelkezésre állási csoport (AG), amely a következőket támogatja:

  • metaadat-objektumok (felhasználók, bejelentkezések, engedélyek, SQL Agent-feladatok stb.) kezelése AG-szinten a példányszint mellett.

  • az AG-ben található speciális, zárt rendszeradatbázisok.

Ez a cikk a tartalmazott AG-k hasonlóságait, különbségeit és funkcióit ismerteti.

Áttekintés

Az AG-k általában egy vagy több, koordinált csoportként működő felhasználói adatbázisból állnak, amelyek egy fürt bizonyos számú csomópontján replikálódnak. Ha hiba lép fel a csomópontban vagy az elsődleges példányt üzemeltető csomóponton található SQL Server állapotában, az adatbáziscsoport egységként lesz áthelyezve az AG egy másik replikacsomópontjára. Az összes felhasználói adatbázis szinkronizálva marad az AG összes replikájában, szinkron vagy aszinkron módban.

Ez jól működik az olyan alkalmazások esetében, amelyek csak az adott felhasználói adatbáziskészletet használják, de vannak kihívások, amikor az alkalmazások olyan objektumokra is támaszkodnak, mint például a felhasználók, a bejelentkezések, az engedélyek, az ügynökfeladatok stb., amelyek a rendszeradatbázisok egyikében (master vagy msdb) vannak tárolva. Ahhoz, hogy az alkalmazások zökkenőmentesen és kiszámíthatóan működjenek, a rendszergazdának manuálisan gondoskodnia arról, hogy az objektumok minden módosítása duplikálva legyen az AG összes replikapéldányán. Ha új adatbázis-példányt hoz létre az Elérhetőségi Csoportban (AG), az adatbázisokat automatán vagy kézzel is be lehet vetni egy egyszerű folyamat során, de az összes rendszeradatbázis-testreszabást újra kell állítani az új példányon, hogy illeszkedjenek a többi replikához.

A tartalmazott AG-k kibővítik annak a koncepciónak a fogalmát, amely a replikált adatbázisok csoportját képezi, hogy a master és msdb adatbázisok releváns részei is belekerüljenek. Tekintsd úgy, mint a benne foglalt AG-t használó alkalmazások végrehajtási környezetét. Az ötlet az, hogy a tartalmazott AG-környezet olyan beállításokat tartalmaz, amelyek hatással lennének az alkalmazásra, amely rájuk támaszkodik. Ezért a tartalmazott AG-környezet az alkalmazás által használt összes adatbázisra, az általa használt hitelesítésre (bejelentkezésekre, felhasználókra, engedélyekre), a várhatóan futó ütemezett feladatokra és az alkalmazásra hatással lévő egyéb konfigurációs beállításokra vonatkozik.

Ez eltér a tartalmazott adatbázisoktól, amelyek más mechanizmust használnak a felhasználói fiókokhoz, és magukban az adatbázisban tárolják a felhasználói adatokat. A tárolt adatbázisok csak a bejelentkezéseket és a felhasználókat replikálják, és a replikált bejelentkezés vagy felhasználó hatóköre az adott adatbázisra (és annak replikáira) korlátozódik.

Ezzel szemben egy tartalmazott AG-ben létrehozhat felhasználókat, bejelentkezéseket, engedélyeket stb. az AG szintjén, és ezek automatikusan konzisztensek az AG replikái között, valamint konzisztensek az adott AG-n belüli adatbázisok között. Így a rendszergazdának nem kell manuálisan elvégeznie ezeket a módosításokat.

SQL Server 2025-módosítások

Az SQL Server 2025 (17.x) előzetes verziója elosztott rendelkezésre állási csoporttámogatást biztosít a tartalmazott rendelkezésre állási csoportokhoz.

Különbségek

Érdemes figyelembe venni néhány gyakorlati különbséget a tartalmazott AG-k használata során, például a tartalmazott rendszeradatbázisok létrehozását és a kapcsolat kényszerítését a tartalmazott AG-szinten, ahelyett, hogy a példány szintjén csatlakoznánk.

Tartalmazott rendszeradatbázisok

Minden egyes tartalmazott AG saját master és msdb rendszeradatbázisokkal rendelkezik, amelyek a rendelkezésre állási csoport neve alapján vannak elnevezve. A tartalmazott AG-MyContainedAGpéldául MyContainedAG_master és MyContainedAG_msdbnevű adatbázisokkal rendelkezik. Ezek a rendszeradatbázisok automatikusan új replikákba kerülnek, és a frissítések ugyanúgy replikálódnak ezekre az adatbázisokra, mint a rendelkezésre állási csoport többi adatbázisára. Ez azt jelenti, hogy amikor egy objektumot, például egy bejelentkezést vagy egy ügynökfeladatot ad hozzá, és a tartalmazott AG-hez csatlakozik, amikor a tartalmazott AG átkerül egy másik példányra, továbbra is láthatja az ügynökfeladatokat, és a tartalmazott AG-ben létrehozott bejelentkezéssel hitelesítheti magát.

Fontos

A tartalmazott AG-k egy mechanizmust jelentenek a végrehajtási környezet konfigurációinak konzisztensen tartására a rendelkezésre állási csoport replikáiban. Nem alkotnak biztonsági határt. Nem létezik olyan határ, amely megakadályozza, hogy egy tartalmazott AG kapcsolatba léphessen az AG-n kívüli adatbázisokkal, például.

Az újonnan létrehozott, elkülönített AG rendszeradatbázisai nem annak a példánynak a másolatai, ahol a CREATE AVAILABILITY GROUP parancs fut. Kezdetben üres sablonok, adatok nélkül. Közvetlenül a létrehozás után a példány, amely a tárolt AG-t hozza létre, átmásolja a rendszergazdai fiókokat a tárolt AG master-ba. Így a rendszergazda bejelentkezhet a tartalmazott AG-be, és beállíthatja a konfiguráció többi részét.

Ha helyi felhasználókat vagy konfigurációkat hoz létre a példányban, azok nem jelennek meg automatikusan a tárolt rendszeradatbázisok létrehozásakor, és nem láthatók, amikor csatlakozik a tárolt AG-hez. Miután a felhasználói adatbázist egy konténereken belüli AG-hez csatlakoztatták, azonnal elérhetetlenné válik a felhasználók számára. Manuálisan újra kell létrehoznia őket az adott elérhetőségi csoportba (AG) tartozó rendszeradatbázisokban, közvetlenül az adatbázishoz való csatlakozással, vagy a listener végpont használatával. Kivételt képez ez alól, hogy a szülőpéldányban a sysadmin szerepkör összes bejelentkezése átmásolódik az új AG-specifikus master adatbázisba a tartalmazott AG létrehozásakor.

Jegyzet

Mivel a master adatbázis minden egyes tartalmazott rendelkezésre állási csoport esetében külön van, a tárolt AG kontextusában végrehajtott kiszolgálóhatókör-tevékenységek csak a tartalmazott rendszeradatbázisban maradnak meg. Ez magában foglalja az ellenőrzést is. Ha az SQL Server auditálási funkcióival naplózza a kiszolgálószintű tevékenységet, minden tartalmazott AG-n belül ugyanazokat a kiszolgálói auditálásokat kell létrehoznia.

Kezdeti adatszinkronizálás

A tartalmazott rendszeradatbázisok csak kezdeti adatszinkronizálási módként támogatják az automatikus magvetést.

Az SQL Server 2022 (16.x) és a korábbi verziókban a tartalmazott rendelkezésre állási csoportoknak automatikus vetést kell használniuk a létrehozás során. A CREATE AVAILABILITY GROUP utasítás vagy az Új rendelkezésreállási csoport varázsló használata az SQL Server Management Studio-ban esetén csak az automatikus feltöltést támogató felhasználói adatbázisokat vegye figyelembe. Ha manuális vetéssel (JOIN ONLY) szeretne nagyméretű adatbázisokat hozzáadni, várjon, amíg létrejön a benne foglalt AG.

Az SQL Server 2025 (17.x) előzetes verziójában a tárolt rendszeradatbázisok mindig automatikus vetést használnak, még akkor is, ha az CREATE AVAILABILITY GROUP utasítás manuális vetést ad meg. A vetési módot manuálisra állíthatja, hogy korlátozott AG-t hozzon létre, és később felhasználói adatbázisokat adjon hozzá az automatikus magvetéstől eltérő szinkronizálási módszerekkel.

Tárolt rendszeradatbázis visszaállítása

A tárolt rendszeradatbázisok biztonsági mentésének visszaállításához kövesse az alábbi lépéseket:

  1. Dobja el a benne foglalt AG-t.

  2. Állítsa vissza a tartalmazott master és msdb az adatbázisokat a tartalmazott AG eredeti elsődleges replikáján.

  3. A másodlagos replikákból törölje a tartalmazott master és msdb adatbázist.

  4. Az elsődleges replikán hozza létre újra a tartalmazott AG-t az eredeti névvel és csomópontokkal, a WITH (CONTAINED, REUSE_SYSTEM_DATABASES) és SEEDING_MODE = AUTOMATIC szintaxis használatával.

A tartalmazott rendelkezésre állási csoport újra létrehozásakor ne foglalja bele a tartalmazott rendszeradatbázisokat az CREATE AVAILABILITY GROUP utasításba. Az SQL Server automatikusan észleli őket, amikor REUSE_SYSTEM_DATABASES meg van adva. Az SQL Server 2022 (16.x) és korábbi verzióiban a csupán az automatikus vetést támogató kis felhasználói adatbázisokat vegye fel. Adja hozzá külön a nagy adatbázisokat, miután a tartalmazott AG létre lett hozva, a JOIN ONLY használatával.

Tartalmazott rendelkezésre állási csoport feladatai

A foglalt rendelkezésre állási csoporthoz tartozó feladatok csak az elsődleges replikán futnak. Nem futnak szekunder másolatokon.

Csatlakozás (zárt környezet)

Fontos különbséget tenni a példányhoz való csatlakozás és a tartalmazott AG-hez való kapcsolódás között. A tartalmazott AG környezetéhez csak úgy lehet hozzáférni, ha a benne foglalt AG-figyelőhöz csatlakozik, vagy egy olyan adatbázishoz csatlakozik, amely a benne foglalt AG-ben található.

"Persist Security Info=False;
User ID=MyUser;Password=*****;
Initial Catalog=MyContainedDatabase;
Server=MyServer;"

Ahol MyContainedDatabase egy adatbázis a tartalmazott AG-ben lévő, amellyel interakcióba szeretne lépni.

Ez azt jelenti, hogy létre kell hoznia egy figyelőt a tartalmazott AG-hez annak hatékony használatához. Ha az egyik példányhoz csatlakozik, amely a tartalmazott AG-t üzemelteti, és nem közvetlenül a figyelőn keresztül a tartalmazott AG-hez, akkor a példány környezetében van, nem pedig a tartalmazott AG-ben.

Ha például a rendelkezésre állási csoport MyContainedAG a SERVER\MSSQLSERVERszerveren van elhelyezve, és ahelyett, hogy a MyContainedAG_Listenerfigyelőhöz csatlakozna, a SERVER\MSSQLSERVERhasználatával csatlakozik a példányhoz, akkor a példány környezetében van, és nem a MyContainedAGkörnyezetében. Ez azt jelenti, hogy érintett vagy a példány rendszeradatbázisaiban található tartalmak által (felhasználók, engedélyek, feladatok stb.). A korlátozott elérhetőségi csoport korlátozott rendszeradatbázisaiban található tartalom eléréséhez csatlakozzon inkább a korlátozott elérhetőségi csoport figyelőjéhez (példáulMyContainedAG_Listener). Amikor a tartalmazott AG-figyelőn keresztül csatlakozik a példányhoz, és amikor a master-val interakcióba lép, a rendszer valójában átirányítja a tartalmazott master adatbázisba (például MyContainedAG_master).

Írásvédett útválasztás és önálló hozzáférhetőségi csoportok

Ha írásvédett útválasztást konfigurál úgy, hogy olvasási szándékkal átirányítsa a kapcsolatokat egy másodlagos replikára (lásd: Always On rendelkezésre állási csoport írásvédett útválasztásának konfigurálása), és csak a tartalmazott AG-ben létrehozott bejelentkezéssel szeretne csatlakozni, további szempontokat is figyelembe kell vennie:

  • Meg kell adnia egy adatbázist, amely a kapcsolati sztringben található AG részét képezi
  • A kapcsolati sztringben megadott felhasználónak engedéllyel kell rendelkeznie a tárolt AG adatbázisainak eléréséhez.

Például a következő kapcsolati sztringben, ahol a AdventureWorks egy adatbázis egy tartalmazott AG-n belül, amely MyContainedListener-et tartalmaz, és ahol a MyUser egy felhasználó, amely a tartalmazott AG-ben van definiálva, de nincs meghatározva egyetlen résztvevő példányban sem:

"Persist Security Info=False;
User ID=MyUser;Password=*****;
Initial Catalog=AdventureWorks;
Server=MyContainedListener;
ApplicationIntent=ReadOnly"

Ez a kapcsolat karakterlánc a ReadOnly Routing konfiguráció részét képező olvasható másodlagoshoz csatlakozna. Ön a tartalmazott AG környezetében tartózkodna.

Különbségek a példányhoz való csatlakozás és a beágyazott rendelkezésre állási csoporthoz való csatlakozás között

  • Amikor a felhasználók csatlakoznak egy tartalmazott AG-hez, csak a tartalmazott AG-ben lévő adatbázisokat látják, valamint a tempdb-t.
  • Példányszinten a tartalmazott AG-master és msdb nevek a [contained AG]_masterés a [contained AG]_msdb. Az AG-n belül a nevük master és msdb.
  • A tartalmazott AG-master adatbázis-azonosítója 1 az azon belüli AG-ben, de a példányhoz való csatlakozáskor valami mást jelent.
  • Bár a felhasználók nem látják azokat az adatbázisokat, amelyek a tartalmazott AG-n kívül vannak, amikor egy tartalmazott AG-kapcsolaton keresztül csatlakoznak a sys.databases-ra, hozzáférhetnek ezekhez az adatbázisokhoz háromrészes névvel vagy a USE paranccsal.
  • A sp_configure használatával a kiszolgáló konfigurációja olvasható az AG-kapcsolatból, de csak példányszinten írható.
  • A tartalmazott AG-kapcsolatokból a sysadmin képes példányszintű műveleteket végrehajtani, például leállítani az SQL Servert.
  • A legtöbb adatbázisszintű, végpontszintű vagy AG-szintű művelet csak példánykapcsolatokból végezhető el, nem tartalmazott AG-kapcsolatokat.

Interakciók más funkciókkal

Egyes funkciók használatakor az úgynevezett "tartalmazott" elérhetőségi csoportokkal további szempontokat is figyelembe kell venni, és vannak olyan funkciók, amelyek jelenleg nem támogatottak.

Mentés készítése

A tárolt AG-k adatbázisainak biztonsági mentési eljárásai megegyeznek a felhasználói adatbázisok biztonsági mentési eljárásaival. Ez a tárolt AG-felhasználói adatbázisokra és a bennük lévő AG-rendszeradatbázisokra is igaz.

Ha a biztonsági mentés helye helyi, a biztonsági mentési fájlok a biztonsági mentési feladatot futtató kiszolgálón lesznek elhelyezve. Ez azt jelenti, hogy a biztonsági mentési fájlok különböző helyeken lehetnek.

Ha a biztonsági mentés helye egy hálózati erőforráson található, minden replikát üzemeltető kiszolgálónak hozzáféréssel kell rendelkeznie ehhez az erőforráshoz.

Elosztott rendelkezésre állási csoportok

Az elosztott rendelkezésre állási csoport egy speciális rendelkezésre állási csoporttípus, amely két mögöttes rendelkezésre állási csoportot foglal magában. Elosztott rendelkezésre állási csoport konfigurálásakor a rendszer a globális elsődleges (az első AG elsődleges replikája) módosításait replikálja a második AG elsődleges replikájába, más néven továbbítóba.

Az SQL Server 2025 (17.x) előzetes verziójától kezdve két tartalmazott AG között konfigurálhat elosztott rendelkezésre állási csoportot. Mivel a tartalmazott AG a tartalmazott master és msdb rendszeradatbázisokra támaszkodik, egy elosztott rendelkezésre állási csoport létrehozásához a második AG-nek (továbbító, "forwarder") ugyanazzal az AG-rendszeradatbázissal kell rendelkeznie, mint a globális elsődleges.

Ha egy tartalmazott AG-t kíván használni továbbítóként egy elosztott rendelkezésre állási csoportban, akkor létre kell hoznia a tartalmazott AG-t a AUTOSEEDING_SYSTEM_DATABASES záradék használatával a WITH | CONTAINED opcióhoz a RENDELKEZÉSRE ÁLLÁSI CSOPORT LÉTREHOZÁSA utasításban. A AUTOSEEDING_SYSTEM_DATABASES záradék arra utasítja az SQL Servert, hogy hagyja ki a saját AG-rendszeradatbázisok létrehozását, és ehelyett a globális elsődleges AG-rendszeradatbázisokat magozza.

Erőforrás-kormányzó

Az SQL Server 2022 -ben (16.x) a 18. kumulatív frissítés előtt, valamint az SQL Server régebbi verzióiban nem támogatott az erőforrás-vezérlő konfigurálása vagy használata a foglalt rendelkezésre állási csoport kapcsolatain.

Az SQL Server 2022 (16.x) 18. kumulatív frissítésétől kezdve, ha az erőforrás-vezérlőt egy példánykapcsolaton konfigurálja, az erőforrás-felhasználás a példánykapcsolatokon vagy a foglalt rendelkezésre állási csoport kapcsolatain a várt módon lesz szabályozva. Ha egy foglalt rendelkezésre állási csoport kapcsolatán próbálja konfigurálni az erőforrás-vezérlőt, hibaüzenet jelenik meg.

Az erőforrás-vezérlő az adatbázismotor-példány szintjén működik. Az erőforrás-vezérlő példányszintű konfigurációja nem terjed ki a rendelkezésre állási replikákra. Az erőforrás-vezérlőt minden rendelkezésre állási replikát üzemeltető példányon konfigurálnia kell.

Jótanács

Javasoljuk, hogy a rendelkezésre állási replikákat üzemeltető adatbázismotor-példányok esetében ugyanazt az erőforrás-vezérlő konfigurációt használja a rendelkezésre állási csoport feladatátvételeinek konzisztens viselkedése érdekében.

További információ: Resource Governor és Resource Governor konfigurációs példák és ajánlott eljárások.

Adatrögzítés módosítása

A módosítási adatrögzítés (CDC) SQL Agent-feladatként van implementálva, így az SQL Agentnek minden példányon futnia kell, amelyen replikák találhatók a benne foglalt AG-ben.

Ha a Change Data Capture (CDC) funkciót szeretné használni egy tartalmazott AG-vel, csatlakozzon az AG-figyelőhöz a CDC konfigurálásakor, hogy a CDC metaadatai a tartalmazott rendszeradatbázisokkal legyenek konfigurálva.

Naplófájlok átvitele

A napló szállítás konfigurálható, ha a forrásadatbázis a tartalmazott AG-ben van. Azonban egy napló továbbítást célozó kiszolgáló nem támogatott egy limitált AG-ben. Emellett a CDC konfigurálása után van egy további lépés a napló szállítási feladatának módosítására.

A napló átvitel konfigurálására tartalmazott AG esetén kövesse az alábbi lépéseket:

  1. Csatlakozzon a beágyazott AG-figyelőhöz.
  2. Konfigurálja a naplóterjesztést a szokott módon.
  3. A naplóátviteli feladat konfigurálása után módosítsa a feladatot, hogy csatlakozzon a tartalmazott AG-figyelőhöz, mielőtt biztonsági másolatot készít.

Transzparens adattitkosítás (TDE)

Ha transzparens adattitkosítást (TDE) szeretne használni egy tartalmazott AG adatbázisaival, manuálisan telepítse az adatbázis főkulcsát (DMK) a tartalmazott master adatbázisba a tartalmazott AG keretén belül.

A TDE-t használó adatbázisok a master adatbázis tanúsítványaira támaszkodnak az adatbázis titkosítási kulcsának (DEK) visszafejtéséhez. A tanúsítvány nélkül az SQL Server nem tudja visszafejteni a TDE-vel titkosított adatbázisokat, és nem tudja őket online állapotba helyezni. Egy tartalmazott AG-ben az SQL Server ellenőrzi mindkét master adatbázist a DMK miatt, a példány master adatbázisát, valamint a tartalmazott AG-ben lévő master adatbázist az adatbázis visszafejtéséhez. Ha egyik helyen sem találja a tanúsítványt, az SQL Server nem tudja online állapotba hozni az adatbázist.

Ha a DMK-t a példány master adatbázisából szeretné átvinni a tárolt master adatbázisba, olvassa el TDE által védett adatbázis áthelyezése egy másik SQL Server-, elsősorban azokra a részekre összpontosítva, ahol a DMK átkerül a régi kiszolgálóról az újba.

Jegyzet

Az SQL Server-példányon lévő adatbázisok titkosítása a rendszeradatbázist tempdb is titkosítja.

SSIS-csomagok & karbantartási tervek

Az SSIS-csomagok használata, beleértve a karbantartási terveket, nem támogatott a tartalmazott rendelkezésre állási csoportok esetében.

Nem támogatott

Jelenleg a következő SQL Server-funkciók nem támogatottak a tartalmazott AG-vel:

  • BÁRMILYEN típusú SQL Server-replikáció (tranzakciós, egyesítési, pillanatkép stb.).
  • Naplófájlok áttelepítése, amikor a céladatbázis a korlátozott AG-ben van. A naplófájlok továbbítása a forrásadatbázissal a korlátozott elérhetőségi csoportban támogatott.

DDL-módosítások

Az egyetlen DDL-módosítás a RENDELKEZÉSRE ÁLLÁSI CSOPORT LÉTREHOZÁSA munkafolyamatban van. Két lehetőséggel rendelkezik egy WITH záradék:

<with_option_spec> ::=
CONTAINED [REUSE_SYSTEM_DATABASES | AUTOSEEDING_SYSTEM_DATABASES ]

KORLÁTOZOTT

Ez azt határozza meg, hogy a létrehozott AG-nek tartalmazott AG-nek kell lennie.

ÚJRAHASZNOSÍTANI_RENDSZER_ADATBÁZISOK (if applicable in a non-technical description context)

Ez REUSE_SYSTEM_DATABASES a beállítás csak a tartalmazott AG-k esetében érvényes, és azt határozza meg, hogy az újonnan létrehozott AG-nek újra kell használnia a meglévő tárolt rendszeradatbázisokat egy azonos nevű korábbi, tartalmazott AG-hez. Például, ha van egy MyContainedAGnevű tartalmazott AG, és törölni valamint újra létrehozni szeretné azt, ezzel a beállítással újra felhasználhatja az eredeti tartalmazott rendszeradatbázisok tartalmát. Ha ezt a lehetőséget használja, ne adjon meg rendszeradatbázis-neveket. Az SQL Server automatikusan észleli őket.

Automatikus_telepítés_rendszer_adatbázisok

A következőkre vonatkozik: SQL Server 2025 (17.x) előzetes és újabb verzió

Ha egy elosztott rendelkezésre állási csoportban a benne foglalt AG-t szeretné továbbítóként használni, akkor ezt a AUTOSEEDING_SYSTEM_DATABASES lehetőséget kell használnia a tartalmazott AG létrehozásakor . Ez a beállítás arra utasítja az SQL Servert, hogy hagyja ki a saját AG-rendszeradatbázisok létrehozását, és ehelyett a globális elsődleges AG-rendszeradatbázisokat magozza.

Gépjármű Nyilvántartó Hivatal módosítások

A tartalmazott AG-khez kapcsolódó DMV-k két kiegészítéssel bővülnek:

  • A DMV sys.dm_exec_sessions-hoz egy új oszlop lett hozzáadva: contained_availability_group_id
  • A sys.availability_groups katalógusnézet a következő oszlopot tartalmazza: is_contained