Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro: SQL Server 2022 (16.x)
Obsažená skupina dostupnosti je skupina dostupnosti AlwaysOn (AG), která podporuje:
správa objektů metadat (uživatelé, přihlášení, oprávnění, úlohy agenta SQL atd.) v rámci úrovně AG kromě úrovně instance.
specializované databáze odděleného systému v rámci skupiny dostupnosti AG.
Tento článek podrobně popisuje podobnosti, rozdíly a funkce uzavřených AG skupin.
Přehled
Skupiny AG se obvykle skládají z jedné nebo více uživatelských databází, které mají fungovat jako koordinovaná skupina a které se replikují na některém počtu uzlů v clusteru. Pokud dojde k selhání v uzlu nebo ve stavu SQL Serveru na uzlu, který je hostitelem primární kopie, se skupina databází přesune jako jednotka do jiného uzlu repliky ve skupině dostupnosti. Všechny uživatelské databáze jsou udržovány synchronizované ve všech replikách skupin dostupnosti (AG) v synchronním nebo asynchronním režimu.
To funguje dobře pro aplikace, které pracují pouze s touto sadou uživatelských databází, ale existují problémy, když aplikace také spoléhají na objekty, jako jsou uživatelé, přihlášení, oprávnění, úlohy agenta atd., které jsou uložené v jedné ze systémových databází (master
nebo msdb
). Aby aplikace fungovaly hladce a předvídatelně, správce musí ručně zajistit, že každá změna těchto objektů je duplikována ve všech instancích replik ve skupině dostupnosti (AG). Pokud se nová instance přenese do AG, databáze mohou být automaticky nebo ručně nasazeny jednoduchým způsobem, ale všechna upravená nastavení systémové databáze musí být v nové instanci znovu nastavena, aby odpovídala ostatním replikám.
Obsažené dostupné skupiny (AG) rozšiřují koncept replikace skupiny databází, aby zahrnovaly relevantní části master
a msdb
databází. Představte si to jako kontext provádění pro aplikace používající obsaženou AG. Myšlenka je, že obsažené AG prostředí obsahuje nastavení, která ovlivní aplikaci, jež na nich závisí. Uzavřené prostředí skupiny dostupnosti se vztahuje ke všem databázím, s nimiž aplikace pracuje, používání autentizace (přihlášení, uživatelé, oprávnění), jakékoli naplánované úlohy, u nichž je očekáváno spuštění, a další nastavení konfigurace ovlivňující aplikaci.
Liší se od databází s omezením, které používají jiný mechanismus pro uživatelské účty a ukládají informace o uživatelích v samotné databázi. Omezené databáze replikují pouze přihlášení a uživatele, a rozsah replikovaného přihlášení nebo uživatele je omezen na tuto konkrétní databázi (a její repliky).
V kontrastu, v samostatné skupině dostupnosti můžete vytvářet uživatele, přihlášení, oprávnění a podobně na úrovni skupiny dostupnosti, a tyto prvky jsou automaticky konzistentní napříč replikami v skupině dostupnosti, stejně jako konzistentní napříč databázemi v rámci této samostatné skupiny dostupnosti. Tím se správce nemusí ručně zabývat těmito změnami.
Změny SQL Serveru 2025
SQL Server 2025 (17.x) Preview zavádí podporu distribuované skupiny dostupnosti pro obsažené skupiny dostupnosti.
Rozdíly
Při práci s obsaženými skupinami dostupnosti (Availability Groups, AG) je potřeba vzít v úvahu některé praktické rozdíly, jako je vytvoření obsažených systémových databází a vynucení připojení na úrovni skupiny obsažené dostupnosti, a nikoli při připojování na úrovni instance.
Systémové databáze v uzavřeném systému
Každá skupina dostupnosti obsahuje vlastní systémové databáze master
a msdb
, které jsou pojmenované podle názvu skupiny dostupnosti. Například v obsahovaném AG MyContainedAG
máte databáze MyContainedAG_master
a MyContainedAG_msdb
. Tyto systémové databáze se automaticky zasadí do nových replik a aktualizace se do těchto databází replikují stejně jako všechny ostatní databáze ve skupině dostupnosti. To znamená, že když přidáte objekt, jako je přihlášení nebo úloha agenta, když jste připojeni k obsažené skupině dostupnosti, při selhání obsažené skupiny dostupnosti dojde k převzetí služeb jinou instancí, stále uvidíte úlohy agenta a budete schopni se ověřit pomocí přihlášení vytvořeného v obsažené skupině dostupnosti.
Důležitý
Obsahované skupiny dostupnosti jsou mechanismem pro udržení konzistentní konfigurace prostředí provádění napříč replikami této skupiny dostupnosti. nepředstavují hranici zabezpečení. Neexistuje žádná hranice, která by například neomezovala připojení z uzavřené skupiny dostupnosti k databázím mimo tuto skupinu dostupnosti.
Systémové databáze v nově vytvořené skupině dostupnosti AG nejsou kopiemi z instance, kde je spuštěn příkaz CREATE AVAILABILITY GROUP
. Zpočátku jsou prázdné šablony bez jakýchkoli dat. Okamžitě po vytvoření se účty správců na instanci, která vytváří obsaženou AG, zkopírují do obsažené AG master
. Tímto způsobem se správce může přihlásit do obsažené skupiny dostupnosti (AG) a nastavit zbytek konfigurace.
Pokud ve vaší instanci vytváříte místní uživatele nebo konfigurace, nezobrazí se automaticky při vytváření obsažených systémových databází a nejsou viditelné při připojení k obsažené skupině dostupnosti. Jakmile je uživatelská databáze připojená k obsažené skupině dostupnosti (AG), okamžitě se stane nepřístupnou pro tyto uživatele. Musíte je ručně znovu vytvořit v systémových databázích obsažených v rámci obsahované skupiny dostupnosti, a to buď přímým připojením k databázi, nebo použitím koncového bodu posluchače. Výjimkou je, že se všechna přihlášení v roli správce systému v nadřazené instanci zkopírují do nové databáze specifické pro master
skupiny dostupnosti během vytváření obsažené skupiny dostupnosti.
Poznámka
Vzhledem k tomu, že databáze master
je oddělená pro každou obsaženou skupinu dostupnosti, aktivity na úrovni serveru prováděné v kontextu obsažené skupiny dostupnosti přetrvávají pouze v obsažené systémové databázi. To zahrnuje auditování. Pokud auditujete aktivitu na úrovni serveru pomocí Auditování SQL Serveru, musíte v rámci každé obsahované skupiny dostupnosti vytvořit stejné auditní záznamy serveru.
Počáteční synchronizace dat
Obsažené systémové databáze podporují pouze automatické seeding jako počáteční způsob synchronizace dat.
V SQL Serveru 2022 (16.x) a starších verzích musí skupiny dostupnosti s omezeným obsahem během vytváření používat automatické nasazování. Při použití CREATE AVAILABILITY GROUP
příkazu nebo průvodce novou skupinou dostupnosti v aplikaci SQL Server Management Studio začleňte pouze uživatelské databáze, které podporují automatické osévání. Pokud chcete přidat velké databáze pomocí ručního seedingu (JOIN ONLY
), počkejte, až se vytvoří obsažená skupina dostupnosti.
Ve verzi SQL Server 2025 (17.x) Náhled vždy používají integrované systémové databáze automatické zakládání, i když příkaz CREATE AVAILABILITY GROUP
určuje ruční zakládání. Režim seedingu můžete nastavit na ruční pro vytvoření obsažené skupiny dostupnosti a později přidat uživatelské databáze pomocí jiných metod synchronizace než automatického seedingu.
Obnovení uzavřené systémové databáze
Chcete-li obnovit zálohy obsažených systémových databází, postupujte takto:
Zahoďte obsažené AG.
Obnovte databáze
master
amsdb
na původní primární replice skupiny dostupnosti s obsahem.Odstraňte obsažené
master
amsdb
databáze ze sekundárních replik.Na primární replice znovu sestavte obsaženou skupinu dostupnosti pomocí původního názvu a uzlů, se syntaxí
WITH (CONTAINED, REUSE_SYSTEM_DATABASES)
aSEEDING_MODE = AUTOMATIC
.
Při opětovném vytvoření obsažené skupiny dostupnosti nezahrnujte do příkazu systémové databáze CREATE AVAILABILITY GROUP
. SQL Server je automaticky rozpozná, když REUSE_SYSTEM_DATABASES
je zadán. V systému SQL Server 2022 (16.x) a starších verzích zahrňte pouze malé uživatelské databáze, které podporují automatické nasazení. Přidejte velké databáze samostatně po vytvoření obsažené skupiny dostupnosti pomocí JOIN ONLY
.
Úlohy obsažené skupiny dostupnosti
Úlohy, které patří do omezené skupiny dostupnosti, běží jenom na primární replice. Nejsou spuštěny na sekundárních replikách.
Připojení (uzavřené prostředí)
Je důležité rozlišovat mezi připojením k instanci a připojením ke skupině dostupnosti (AG). Jediným způsobem, jak získat přístup k prostředí obsažené skupiny dostupnosti (AG), je připojit se k naslouchacímu procesu pro obsaženou skupinu dostupnosti nebo se připojit k databázi, která je v obsažené skupině dostupnosti.
"Persist Security Info=False;
User ID=MyUser;Password=*****;
Initial Catalog=MyContainedDatabase;
Server=MyServer;"
Kde MyContainedDatabase
je databáze v rámci obsažené Skupiny Dostupnosti (SD), se kterou chcete pracovat.
To znamená, že musíte vytvořit naslouchací proces pro obsaženou skupinu dostupnosti, aby byla efektivně použita obsažená skupina dostupnosti. Pokud se připojíte k jedné z instancí hostující obsaženou skupinu dostupnosti, nikoli přímo k obsažené skupině dostupnosti pomocí posluchače, jste v prostředí instance, a ne v obsažené skupině dostupnosti.
Pokud je například vaše skupina dostupnosti MyContainedAG
hostovaná na serveru SERVER\MSSQLSERVER
a místo připojení k naslouchacímu procesu MyContainedAG_Listener
se připojíte k instanci pomocí SERVER\MSSQLSERVER
, nacházíte se v prostředí instance a ne v prostředí MyContainedAG
. To znamená, že podléháte obsahu (uživatelům, oprávněním, úlohám atd.), které se nacházejí v systémových databázích instance. Pokud chcete získat přístup k obsahu nalezenému v obsažených systémových databázích obsažené skupiny dostupnosti, připojte se místo toho k naslouchacímu procesu skupiny dostupnosti (napříkladMyContainedAG_Listener
). Když jste připojeni k instanci prostřednictvím naslouchacího procesu obsažené skupiny dostupnosti, při interakci s master
jste skutečně přesměrováni do databáze master
(například MyContainedAG_master
).
Směrování pouze pro čtení a uzavřené skupiny dostupnosti
Pokud nakonfigurujete směrování jen pro čtení pro přesměrování připojení se záměrem čtení na sekundární repliku (viz Konfigurace směrování jen pro čtení pro skupinu dostupnosti AlwaysOn) a chcete se připojit pomocí přihlášení vytvořeného pouze v obsažené skupině dostupnosti, je potřeba vzít v úvahu některé další aspekty:
- Je nutné v připojovacím řetězci zadat databázi, která je součástí obsažené skupiny dostupnosti.
- Uživatel zadaný v připojovacím řetězci musí mít oprávnění pro přístup k databázím v omezené skupině dostupnosti.
Například v následujícím připojovacím řetězci, kde AdventureWorks
je databáze v rámci obsahované AG, která má MyContainedListener
a kde MyUser
je uživatel definovaný v obsahované AG a žádná ze zúčastněných instancí:
"Persist Security Info=False;
User ID=MyUser;Password=*****;
Initial Catalog=AdventureWorks;
Server=MyContainedListener;
ApplicationIntent=ReadOnly"
Tento připojovací řetězec vás připojí ke čitelné sekundární části konfigurace směrování ReadOnly a budete v kontextu obsažené skupiny dostupnosti.
Rozdíly mezi připojením k instanci a připojením k obsažené skupině dostupnosti
- Při připojení ke skupině dostupnosti AG uživatelé uvidí pouze databáze v této skupině dostupnosti AG a
tempdb
. - Na úrovni instance jsou jména obsažených AG
master
amsdb
[contained AG]_master
a[contained AG]_msdb
. Uvnitř obsaženého AG jsou jejich názvymaster
amsdb
. - ID databáze pro obsaženou AG
master
je uvnitř obsažené AG1
, ale při připojení k instanci je to něco jiného. - I když uživatelé nevidí databáze mimo uzavřenou AG v
sys.databases
při připojení k uzavřené AG, můžou k těmto databázím přistupovat pomocí třídílného názvu nebo příkazuUSE
. - Konfiguraci serveru prostřednictvím
sp_configure
lze číst z obsaženého připojení AG, ale lze ji zapisovat pouze z úrovně instance. - Z uzavřených připojení skupiny dostupnosti může správce systému provádět operace na úrovni instance, jako je vypnutí SQL Serveru.
- Většinu operací na úrovni databáze, koncového bodu nebo úrovni skupiny dostupnosti lze provádět pouze z připojení instancí, nikoli z připojení obsažené skupiny dostupnosti.
Interakce s dalšími funkcemi
Při používání určitých funkcí s obsaženými skupinami AG je potřeba vzít v úvahu další aspekty a jsou některé funkce, které nejsou aktuálně podporovány.
Zálohovat
Postupy zálohování databází v obsažené skupině dostupnosti jsou stejné jako postupy zálohování uživatelských databází. To platí pro uživatelské databáze obsažené ve skupinách dostupnosti (AG) i pro systémové databáze v těchto skupinách.
Pokud je umístění zálohování místní, záložní soubory se umístí na server, na kterém běží úloha zálohování. To znamená, že záložní soubory můžou být v různých umístěních.
Pokud je umístění zálohy v síťovém prostředku, potřebují k ho přístup všechny servery, které hostují repliky.
Distribuované skupiny dostupnosti
Distribuovaná skupina dostupnosti je speciální typ skupiny dostupnosti, která zahrnuje dvě základní skupiny dostupnosti. Když nakonfigurujete distribuovanou skupinu dostupnosti, změny provedené na globální primární replice (což je primární replika vaší první skupiny dostupnosti) se pak replikují do primární repliky druhé skupiny dostupnosti, označované jako předávací služba.
Počínaje verzí SQL Server 2025 (17.x) Preview můžete nakonfigurovat distribuovanou skupinu dostupnosti mezi dvěma obsaženými AG. Vzhledem k tomu, že se obsahová skupina dostupnosti spoléhá na obsažené master
a msdb
systémové databáze, musí mít druhá skupina dostupnosti (předávací server) stejnou systémovou databázi obsahové skupiny dostupnosti jako globální primární server.
Pokud máte v úmyslu použít izolovanou skupinu dostupnosti jako předávač v distribuované skupině dostupnosti, musíte vytvořit tuto skupinu dostupnosti použitím klauzule AUTOSEEDING_SYSTEM_DATABASES
pro možnost WITH | CONTAINED
v rámci příkazu CREATE AVAILABILITY GROUP. Klauzule AUTOSEEDING_SYSTEM_DATABASES
říká systému SQL Server, aby přeskočil vytváření vlastních systémových databází skupiny dostupnosti a místo toho načte systémové databáze skupiny dostupnosti obsažené z globální primární databáze.
Správce prostředků
V SQL Serveru 2022 (16.x) před kumulativní aktualizací 18 a ve starších verzích SQL Serveru není podporována konfigurace ani použití správce prostředků na připojeních v obsažených skupinách dostupnosti.
Počínaje SQL Serverem 2022 (16.x) kumulativní aktualizací 18, pokud nakonfigurujete Resource Governor na připojení instance, bude spotřeba prostředků na připojeních instancí nebo na připojeních v rámci skupiny dostupnosti řízena očekávaným způsobem. Pokud se pokusíte nakonfigurovat správce prostředků u připojení obsažené skupiny dostupnosti, zobrazí se chyba.
Správce prostředků funguje na úrovni instance databázového serveru. Konfigurace správce prostředků na úrovni instance se nešíří na dostupnost replik. Pro každou instanci hostující repliku dostupnosti musíte nakonfigurovat správce prostředků.
Návod
Doporučujeme použít stejnou konfiguraci Resource Governor pro všechny instance databázového stroje hostující repliky dostupnosti, abyste zajistili konzistentní chování při selhání skupiny dostupnosti.
Další informace najdete v tématu Správce prostředků a příklady konfigurace Správce prostředků a osvědčené postupy konfigurace.
Změna zachytávání dat
Zachytávání změn dat (CDC) se implementuje jako úlohy agenta SQL, takže agent SQL musí být spuštěn na všech instancích s replikami v uzavřené skupině dostupnosti.
Pokud chcete použít zachytávání dat změn s obsaženou skupinou dostupnosti, připojte se při konfiguraci CDC k naslouchacímu procesu skupiny dostupnosti, aby metadata CDC byla nakonfigurována s využitím obsažených systémových databází.
Přenášení protokolů
Odesílání protokolů lze nakonfigurovat, pokud je zdrojová databáze v obsažené skupině dostupnosti (contained availability group). Cílový server pro odesílání protokolu ale není podporován v rámci obsažené skupiny dostupnosti. Kromě toho existuje další krok pro úpravu úlohy odeslání protokolu po nakonfigurování CDC.
Pokud chcete nakonfigurovat přepravu protokolů s obsaženou skupinou dostupnosti, postupujte takto:
- Připojte se k naslouchacímu procesu posluchače skupiny dostupnosti (AG).
- Nakonfigurujte přepravu protokolu jako obvykle.
- Po nakonfigurování úlohy odesílání protokolu upravte úlohu tak, aby se před vytvořením zálohy připojila k naslouchací službě AG.
Transparentní šifrování dat (TDE)
Pokud chcete použít transparentní šifrování dat (TDE) s databázemi v obsažené skupině dostupnosti, ručně nainstalujte hlavní klíč databáze (DMK) do obsažené master
databáze v rámci obsažené skupiny dostupnosti.
Databáze, které používají TDE (transparentní šifrování dat), spoléhají na certifikáty v databázi master
k dešifrování šifrovacího klíče databáze (DEK). Bez takového certifikátu nemůže SQL Server dešifrovat databáze šifrované transparentním šifrováním dat ani je přenést do režimu online. Ve skupině obsažené dostupnosti SQL Server zkontroluje obě dvě databáze master
pro DMK, databázi instance master
a obsaženou databázi master
v rámci skupiny obsažené dostupnosti pro dešifrování databáze. Pokud certifikát nemůže najít v jiném umístění, sql Server nemůže databázi přenést do režimu online.
Pokud chcete přenést DMK z databáze master
instance do obsažené databáze master
, přečtěte si téma Přesunutí databáze chráněné Transparentním šifrováním dat (TDE) do jiného SQL Serveru, zejména části zaměřené na přenos DMK ze starého serveru na nový.
Poznámka
Šifrování jakékoli databáze v instanci SQL Serveru také šifruje tempdb
systémovou databázi.
Balíčky SSIS & plány údržby
Používání balíčků SSIS, včetně údržbových plánů, není podporováno u obsahovaných skupin dostupnosti.
Nepodporováno
V současné době nejsou u obsažené skupiny dostupnosti podporované následující funkce SQL Serveru:
- Replikace SQL Serveru libovolného typu (transakční, slučovací, snímek atd.)
- Přeprava protokolů, kde je cílová databáze v obsažené AG. Přenos protokolů se zdrojovou databází v obsažené skupině dostupnosti je podporováno.
Změny DDL
Jediné změny DDL jsou v pracovním postupu CREATE AVAILABILITY GROUP . K dispozici je WITH
klauzule se dvěma možnostmi:
<with_option_spec> ::=
CONTAINED [REUSE_SYSTEM_DATABASES | AUTOSEEDING_SYSTEM_DATABASES ]
OBSAH
Určuje, že vytvářená skupina dostupnosti (AG) by měla být omezena.
REUSE_SYSTEM_DATABASES
Možnost REUSE_SYSTEM_DATABASES
je platná pouze pro obsažené AG a určuje, že nově vytvořený AG by měl znovu použít existující systémové databáze obsažené pro předchozí obsažený AG se stejným názvem. Pokud jste například měli obsaženou AG s názvem MyContainedAG
a chtěli ji odstranit a znovu vytvořit, můžete tuto možnost použít k využití obsahu původních systémových databází obsaženého systému. Při použití této možnosti nezadávejte názvy systémových databází. SQL Server je automaticky rozpozná.
SYSTÉMOVÉ DATABÁZE AUTOSEEDING
Platí pro: SQL Server 2025 (17.x) Preview a novější
Pokud máte v úmyslu použít svou obsaženou skupinu dostupnosti jako přeposílač v distribuované skupině dostupnosti, musíte při AUTOSEEDING_SYSTEM_DATABASES
použít možnost . Tato možnost říká SQL Serveru, aby přeskočilo vytváření vlastních obsažených systémových databází skupiny dostupnosti (AG) a místo toho nasadilo obsažené systémové databáze ze skupiny dostupnosti z globální primární databáze.
Změny na úřadě pro motorová vozidla
Existují dva doplňky k dynamickým spravovacím zobrazením souvisejícím s obsaženými skupinami dostupnosti (AGs):
- DMV
sys.dm_exec_sessions
má přidaný sloupec:contained_availability_group_id
- Zobrazení katalogu
sys.availability_groups
obsahuje přidaný sloupec:is_contained