Rozšíření skupiny dostupnosti Always On do služby Azure SQL Managed Instance (Preview)

Platí na:Azure SQL Managed Instance

Tento článek vás naučí, jak rozšířit skupinu dostupnosti Always On s více databázemi mezi SQL Server a Azure SQL Managed Instance pomocí odkazu Managed Instance pomocí SQL Server Management Studio (SSMS), PowerShellu nebo Azure CLI.

Tento článek se zabývá režimem propojení s více databázemi, který replikuje všechny databáze ve skupině dostupnosti prostřednictvím jednoho spojení. Režim spojení s jednou databází replikuje jednu databázi na linku.

Note

Podpora propojení více databází ve skupině dostupnosti Always On mezi SQL Server a Azure SQL Managed Instance je momentálně ve fázi náhledu.

Přehled

Když rozšíříte skupinu dostupnosti Always On mezi SQL Server a Azure SQL Managed Instance, vytvoříte odkaz, který replikuje více databází ve skupině dostupnosti na cílovou repliku. Spojení využívá distribuovanou skupinu dostupnosti k replikaci změn téměř v reálném čase od aktuální primární repliky k kopiím databáze pouze pro čtení na sekundární replice. Tím je zajištěno, že kopie určené pouze ke čtení na sekundárním serveru zůstávají aktuální vůči primárnímu serveru.

Můžete použít existující skupinu dostupnosti nebo začít se samostatnými databázemi. Když vyberete samostatné databáze v SSMS, průvodce vytvoří skupinu dostupnosti jednoho uzlu na počáteční primární databázi a replikuje vybrané databáze přes jeden link.

Buď SQL Server, nebo Azure SQL Managed Instance může být počáteční primární řešení. Vytvoření odkazu ze SQL Managed Instance vyžaduje SQL Server 2022 nebo SQL Server 2025 s požadovanou kumulativní aktualizací a odpovídající politikou aktualizací SQL Managed Instance. Příklady tvorby v tomto článku začínají u SQL Server. Neprocházejí vytvářením z SQL Managed Instance. Failover s obrácením rolí mezi SQL Server a Azure SQL Managed Instance je podporován pro instance nakonfigurované s odpovídajícími aktualizačními politikami.

Supportability

Následující požadavky se vztahují na rozšíření skupiny dostupnosti prostřednictvím linky s více databázemi během náhledu. SQL Server je podporován jak na Windows, tak na Linuxu. Musíte nainstalovat požadovanou kumulativní aktualizaci (CU). Starší verze tuto funkci nepodporovaly.

verze SQL Server Požadovaná aktualizace Podporované edice
SQL Server 2022 (16.x) CU27 nebo později Podniky a vývojáři
SQL Server 2025 (17.x) CU9 nebo později Podniky a vývojáři

Vezměte v úvahu následující skutečnosti:

  • Standardní edice není podporována, protože základní skupiny dostupnosti podporují pouze jednu databázi.
  • SQL Server 2019 a starší verze nejsou podporovány pro režim propojení s více databázemi, protože postrádají požadovanou technologii zavedenou v SQL Server 2022.
  • Chcete-li vytvořit odkaz z SQL Managed Instance nebo obrátit role zpět na SQL Server, musí vaše SQL Managed Instance používat politiku aktualizací, která odpovídá vaší verzi SQL Server. Pro jednosměrnou replikaci a přechod ze SQL Server musí politika aktualizace cílové adresy odpovídat nebo být vyšší než verze vašeho SQL Server.
    • SQL Server 2022 podporuje replikaci na instance konfigurované s politikami SQL Server 2022,SQL Server 2025 a Always-up-to-date.
    • SQL Server 2025 podporuje replikaci na instance konfigurované s politikami SQL Server 2025 a Always-up-to-date, ale ne SQL Server 2022. Nemůžete replikovat data ani se po přepínaví nemůžete vrátit zpět na SQL Server, pokud se politiky neshodují.

Pro verze a edice SQL Server, které podporují propojení s jednou databází, viz podpora verzí Managed Instance link.

Caution

Každá replika SQL Server ve vaší skupině dostupnosti musí používat stejnou podporovanou verzi SQL Server, mít nainstalovanou požadovanou kumulativní aktualizaci nebo později a mít zapnutý režim propojení s více databázemi. Nemíchejte repliky, které podporují režim propojení s více databázemi, s replikami v starších verzích nebo s touto funkcí vypnutou. Míchání těchto konfigurací může způsobit, že se SQL Server chová nepředvídatelně.

Prerequisites

Pro rozšíření skupiny dostupnosti mezi SQL Server a Azure SQL Managed Instance potřebujete následující předpoklady:

  • Aktivní předplatné Azure. Pokud ho nemáte, vytvořte si bezplatný účet.
  • Podporovaná verze a edice SQL Server s nainstalovanou požadovanou aktualizací služby. Můžete použít existující skupinu dostupnosti Always On nebo samostatné databáze, které SSMS umístí do nové skupiny dostupnosti pro jeden uzel. Skupiny s omezenou dostupností nejsou podporovány.
  • Azure SQL Managed Instance s aktualizační politikou vhodnou pro váš scénář. Odpovídající zásady se vyžadují, když je SQL Managed Instance počáteční primární instancí nebo při prohození rolí. Začněte , pokud nemáte SQL spravovanou instanci.
  • SQL Server Management Studio (SSMS) 22.10.2 nebo novější.
  • Pro skriptovanou konfiguraci použijte Azure PowerShell s modulem Az verze 16.3.0 nebo pozdější a Az.SQL verzi 7.1.0 nebo novší, případně Azure CLI verze 2.90.0 či novější. Můžete také použít Azure Cloud Shell. Ověřte, že nainstalované moduly nebo CLI splňují tyto požadavky na verzi.
  • Správně připravené prostředí.
  • Pro skupinu dostupnosti s více uzly je to konfigurovaný naslouchač skupiny dostupnosti. Při konfiguraci spoje používejte IP adresu posluchače, nikoli IP adresu jednotlivých replik SQL Server. Použití posluchače umožňuje spojení pokračovat v provozu i po přehození lokální skupiny dostupnosti.
  • Na žádné replice SQL Serveru neexistují žádné existující odkazy při povolení režimu propojení více databází. Než začnete, odstraňte všechny odkazy, které používají starší režim spojení s jednou databází.
  • Dostatečná dostupná kapacita databáze a úložiště na cílové spravované instanci pro všechny databáze ve vaší skupině dostupnosti. Zkontrolujte limity zdrojů.

Povolení

Pro SQL Server potřebujete oprávnění sysadmin.

Pro službu Azure SQL Managed Instance musíte být členem role Přispěvatel spravované instance SQL nebo mít následující vlastní oprávnění role:

Microsoft.Sql/ zdroj Potřebná oprávnění
Microsoft.Sql/managedInstances /číst, /psát
Microsoft.Sql/managedInstances/hybridCertificate /akce
Microsoft.Sql/managedInstances/databases /číst, /smazat, /psát, /úplnáObnova/akce, /čístZálohy/akce, /podrobnostiObnovy/číst
Microsoft.Sql/managedInstances/distributedAvailabilityGroups Čtení, zápis, smazání, nastavení role/akce
Microsoft.Sql/managedInstances/endpointCertificates /číst
Microsoft.Sql/managedInstances/hybridLink /číst, /zapsat, /smazat
Microsoft. Sql/managedInstances/serverTrustCertificates /napsat, /smazat, /číst

Podpora režimu spojení s více databázemi je během náhledu ve výchozím nastavení zakázána. Pomocí vestavěné uložené procedury sys.sp_multidb_milink ji povolte na každé replice SQL Serveru ve skupině dostupnosti nebo v instanci SQL Serveru, kde plánujete vytvořit jednouzlovou skupinu.

Warning

Odstraňte všechny existující odkazy před zapnutím nebo vypnutím režimu spojení s více databázemi. Změna nastavení během aktivních spojení může vést k nepředvídatelnému chování SQL Server. Nemíchejte odkazy na jednu databázi a odkazy na více databází. Při změně režimů nejprve odstraňte odkazy, změňte nastavení u každé repliky SQL Server a pak vytvořte nové odkazy.

Spustěte následující příkaz na každé replikě SQL Server pro povolení režimu spojení s více databázemi:

EXEC sys.sp_multidb_milink 1;

Toto nastavení přetrvává při restartu SQL Server, takže ho stačí povolit jen jednou na každé replice.

Pro kontrolu nastavení spusťte uloženou proceduru bez parametru na každé replice. Vrátí 1, je-li povoleno, a 0, je-li zakázáno:

EXEC sys.sp_multidb_milink;

Pokud uložená procedura není dostupná, ověřte, že replika má podporovanou verzi SQL Server a kumulativní aktualizaci.

Pro vypnutí režimu spojení s více databázemi nejprve odstraňte všechny odkazy a poté spusťte následující příkaz na každé replice SQL Server:

EXEC sys.sp_multidb_milink 0;

Připravte databáze skupin dostupnosti

Nastavte každou databázi SQL Server, kterou chcete replikovat, na plný model obnovy a pak vytvořte plnou zálohu. Tuto přípravu vyžadují jak stávající databáze skupin dostupnosti, tak samostatné databáze. Použijte zálohovací postup SSMS v příručce pro konfiguraci linky.

Caution

Pokud vaše databáze používají transparentní šifrování dat (TDE), připravte šifrovací certifikáty nebo klíče na cílové adrese před vytvořením odkazu. Bez nich spojení nemůže replikovat šifrované databáze.

Pro databáze SQL Server migrujte certifikát TDE do SQL Managed Instance. Pro šifrované databáze SQL Managed Instance propojené se SQL Server použijte klíč spravovaný zákazníkem, který je přístupný cílovému SQL Server. Zkontrolujte přípravu TDE pro propojení z hlediska požadavků v každém směru.

Spojení replikuje všechny databáze ve vybrané skupině dostupnosti. Nemůžete vybrat podmnožinu, takže před vytvořením odkazu zkontrolujte dostupnou kapacitu cílové SQL spravované instance. Cíl nesmí obsahovat databáze se stejnými názvy jako ty, které chcete replikovat. Existující databáze s různými názvy jsou povoleny, s výhradou kapacitních limitů instance.

Odkaz podporuje pouze replikaci uživatelských databází. Replikace systémových databází se nepodporuje. Chcete-li replikovat objekty na úrovni instance uložené v master cílové instanci nebo msdb, skriptujte je a spusťte skripty T-SQL v cílové instanci.

Konfigurujte posluchač a certifikáty

Pro skupinu dostupnosti více uzlů použijte IP adresu posluchače při konfiguraci spojení, jak v SSMS, tak ve skriptech. Posluchač směruje spojení k aktuální primární replikě. Nepoužívejte IP adresu jednotlivé repliky SQL Server jako partnerský endpoint linku. Bez posluchače spojení po převedení lokální skupiny dostupnosti nefunguje dál. Pro skupinu dostupnosti jednoho uzlu, včetně jedné vytvořené průvodcem SSMS pro samostatné databáze, použijte IP endpoint dané instance SQL Server.

SSMS průvodce vyměňuje certifikáty mezi Azure SQL Managed Instance a pouze aktuální primární replikou SQL Server. Nekonfiguruje důvěru v certifikáty na ostatních replikách SQL Server. Musíte ručně zkopírovat a nakonfigurovat požadované certifikáty na každé druhé replikě SQL Server, aby spojení mohlo pokračovat v provozu i po převedení lokální skupiny dostupnosti. Tento manuální krok platí jak pro SSMS, tak pro skriptovanou konfiguraci. Zkontrolujte Vytvořte důvěru mezi instancemi pro kroky výměny certifikátů.

Pro doporučené nastavení používejte SSMS. Průvodce automatizuje mnoho konfiguračních kroků. Pokud nepotřebujete skriptovanou automatizaci, přeskočte tuto sekci a pokračujte na záložku SSMS v rámci skupiny Rozšířit dostupnost.

Skriptované nastavení je pokročilá možnost, která vyžaduje zkušenosti s konfigurací skupin dostupnosti, koncových bodů a důvěry v certifikáty. Tyto kroky provádějte pouze pokud používáte PowerShell nebo Azure CLI s SQL Server jako primárním zdrojem.

Kontrolní seznam pokrývá jak stávající skupiny dostupnosti, tak samostatné databáze. Poté, co připravíte databáze, důvěru a koncový bod znovu použijte stávající skupinu dostupnosti nebo ji vytvořte ve 4. kroku. Poté vytvořte distribuovanou skupinu dostupnosti. PowerShell a příkazy pro tvorbu odkazů v Azure CLI vám nevytvářejí skupinu dostupnosti.

Pro skript přizpůsobený vašemu prostředí použijte průvodce odkazů SSMS a vyberte Script na stránce Summary . Prohlédněte si vygenerovaný skript a spusť ho zvlášť.

  1. Povolte režim propojení s více databázemi na každé replice SQL Server nebo na samostatné instanci SQL Server a připravte databáze.
  2. Navázání vztahu důvěryhodnosti mezi instancemi Postupujte podle kroků vytvoření certifikátu, výměny veřejných klíčů, importu kořenových certifikátů a ověřování řetězce certifikátů. Pro skupinu s více uzly aplikujte požadavky na certifikát na každou repliku SQL Server, nejen na aktuální primární.
  3. Zabezpečte endpoint pro zrcadlení databáze. Pokud vaše skupina dostupnosti už má koncový bod, použijte Alter existující koncový bod místo vytváření dalšího. Zachovat konfigurovaný port koncového bodu pro příkaz pro vytvoření linku.
  4. Připravte skupinu dostupnosti. Pokud už máte skupinu dostupnosti obsahující všechny databáze, které chcete replikovat, použijte ji znovu a přeskočte vytváření nové skupiny. Pokud začínáte se samostatnými databázemi, nejprve vytvořte skupinu dostupnosti na SQL Server. V počáteční primární záložce SQL Server použijte příklad s jedním uzlem CREATE AVAILABILITY GROUP s CLUSTER_TYPE = NONE, ale nahraďte FOR DATABASE [<DatabaseName>] ho kompletním seznamem databáze, například FOR DATABASE [DB01], [DB03], [DB05], [DB07]. Nastavte <AGNameOnSQLServer> název, který chcete nové skupině dát. Spusť tento skript před pokračováním v tvorbě distribuované skupiny dostupnosti. Nespouštějte to proti existující skupině ani neměňte konfiguraci clusteru existující skupiny.
  5. Vytvořte skupinu distribuované dostupnosti na SQL Server. Použijte počáteční primární záložku SQL Server a začněte u instrukcí pro vytvoření distribuované skupiny dostupnosti. Nastavte <AGNameOnSQLServer> na skupinu dostupnosti, kterou jste znovu použili nebo vytvořili v předchozím kroku. Pro skupinu s více uzly použijte IP adresu posluchače pro <SQLServerIP>. Pro skupinu s jedním uzlem použijte endpoint instance SQL Server. Zachovejte <DAGName> si jako název odkazu a <AGNameOnSQLMI> jako název skupiny dostupnosti spravované instance pro příkaz pro vytvoření níže.
  6. Ověřte skupiny dostupnosti na SQL Server. Ověřte, že jsou přítomny jak skupina dostupnosti Always On, tak distribuovaná skupina dostupnosti. Poté se vraťte do Rozšířit skupinu dostupnosti, vyberte PowerShell nebo Azure CLI a spusťte příkaz pro vytváření více databází v tomto článku místo příkazu pro jednu databázi z jiného průvodce.

Rozšiřte skupinu dostupnosti

Pro zachování logovacích záznamů potřebných pro seedování je doporučený přístup povolit trace flag 12381 na podporovaných sestaveních SQL Server před vytvořením odkazů, zejména pro velké databáze nebo více databází v režimu linkování s více databázemi. Nicméně příznak není vyžadován a existují alternativní způsoby nápravy, které jsou uvedeny v Troubleshoot error 1412. S povoleným příznakem mohou zálohy logů pokračovat, ale uchovávané záznamy nejsou znovu použitelné. Sledujte růst logů SQL Server a volné místo na disku a vypněte příznak hned, jakmile se seedování dokončí pro všechny vytvářené odkazy.

Použijte SSMS k automatizaci vytváření odkazů, nebo zvolte PowerShell či Azure CLI pro pokročilou skriptovanou konfiguraci. Následující příklady používají SQL Server jako počáteční primární zařízení. Můžete také začít od SQL Managed Instance s odpovídající aktualizační politikou, ale tento workflow zde není pokryt.

Pro skriptovanou konfiguraci dokončete skriptované kroky pro opětovné použití nebo vytvoření skupiny dostupnosti obsahující všechny databáze, které chcete replikovat, a poté vytvořte distribuovanou skupinu dostupnosti před spuštěním PowerShell nebo příkazu pro vytvoření Azure CLI. Alternativně, pokud začnete se samostatnými databázemi, procedura SSMS v této části automaticky vytvoří skupinu dostupnosti jednotlivých uzlů jako součást nastavení linku.

Pro režim spojení s více databázemi explicitně specifikujte MultiDatabase ve skriptech a zadejte všechna jména databází ve skupině dostupnosti. PowerShell ve výchozím nastavení používá SingleDatabase, pokud je -LinkMode vynecháno. Použití -LinkMode MultiDatabase v PowerShell nebo --link-mode MultiDatabase v Azure CLI.

Warning

Nevytvářejte propojení v režimu propojení MultiDatabase, pokud všechny repliky SQL Serveru nemají nainstalovanou požadovanou kumulativní aktualizaci a povolený režim propojení s více databázemi prostřednictvím uložené procedury sys.sp_multidb_milink. Použití tohoto režimu s SQL Server verzemi, které ho nepodporují, může způsobit, že se SQL Server chová nepředvídatelně. Nejprve zkontrolujte podporovatelnost a zapněte režim propojení s více databázemi .

Pomocí průvodce New SQL Managed Instance link v SSMS vytvořte propojení mezi existující skupinou dostupnosti nebo samostatnými databázemi a Azure SQL Managed Instance.

  1. Otevřete SSMS a připojte se k SQL Server. Pro skupinu dostupnosti více uzlů se připojte přes IP adresu posluchače. Pro samostatné databáze nebo skupinu s jedním uzlem se připojte k instanci SQL Server.

  2. V Průzkumník objektů klikněte pravým tlačítkem myši na databázi, kterou chcete replikovat, najeďte myší na odkaz Azure SQL Managed Instance a vyberte New... pro otevření průvodce odkazem New SQL Managed Instance.

    Screenshot kontextového menu databáze v SSMS s vybraným příkazem New Managed Instance link.

  3. Na úvodní stránce průvodce vyberte Další.

  4. Na stránce Specifikovat možnosti odkazu ověřte, že je povolen režim více databází, a zadejte název svého odkazu. Zaškrtávací políčko režimu je jen pro čtení: odráží nastavení sys.sp_multidb_milink v serveru SQL Server. Režim nelze povolit výběrem zaškrtávacího políčka. Pokud režim není zapnutý, zkontrolujte verzi SQL Server a kumulativní aktualizaci a zapněte tuto funkci na všech replikách, než budete pokračovat. Pro název odkazu používejte malá písmena. Pomlčky jsou povoleny kromě začátku nebo konce. Vyberte Další.

    Snímek obrazovky dialogu Upřesnit možnosti odkazu zobrazující název odkazu a zaškrtnuté políčko režimu více databází jen pro čtení.

  5. Na stránce Požadavky průvodce ověří požadavky pro navázání spojení s vaším sekundárním systémem. Po ověření všech požadavků vyberte Další nebo vyřešte všechny požadavky, které nejsou splněné, a pak vyberte Znovu spustit ověření.

  6. Na stránce Výběr databází vyberte buď existující skupinu dostupnosti, nebo samostatné databáze:

    • Vyberte AG01, chcete-li replikovat všechny jeho databáze, například DB01, DB03, DB05 a DB07.
    • Nebo vyberte samostatné DB10 a DB11. S povoleným režimem spojení s více databázemi SSMS vytvoří skupinu dostupnosti jednoho uzlu na aktuální instanci SQL Server, umístí do ní obě databáze a replikuje je přes jeden link.

    Prohlédněte si výběr a poté vyberte Další.

    Screenshot Select Databases nabízejících existující skupinu AG01 nebo samostatné databáze DB10 a DB11.

  7. Na stránce Specifikovat sekundární repliku vyberte Přidat sekundární repliku. Pokud je SQL managed instance vaše sekundární, přihlaste se do Azure a vyberte předplatné, skupinu zdrojů a sekundární SQL managed instance, kterou chcete připojit k vaší instanci.

    Screenshot Specify Secondary Replica ukazuje SQL Server jako primární a SQL Managed Instance jako sekundární.

  8. Prohlédněte si nastavení koncového bodu a dokončete zbývající validační kroky, jak je popsáno v Konfigurovat spojení se SSMS.

  9. Na stránce Souhrn zkontrolujte konfiguraci ještě jednou. Volitelně vyberte Skript pro vygenerování skriptu. Až budete připraveni vytvořit odkaz, vyberte Dokončit .

  10. Po dokončení všech kroků se na stránce Výsledky vedle úspěšně dokončených akcí zobrazují značky zaškrtnutí. Okno teď můžete zavřít.

Režim více databází replikuje databáze ve vaší skupině dostupnosti prostřednictvím jednoho spojení. Tento přístup se liší od výběru více databází v režimu jedné databáze, kdy se pro každou databázi vytváří samostatné propojení.

Ověřte replikaci

Po vytvoření odkazu nebo přidání databází se data replikují z aktuální primární do současné sekundární repliky. Buď SQL Server, nebo Azure SQL Managed Instance může být počáteční primární řešení. Po obrácení role se data replikují opačným směrem. V závislosti na velikosti databáze a rychlosti sítě může být každá databáze zpočátku ve stavu obnovy na sekundární replice. Po dokončení počátečního seedingu se databáze obnoví do sekundární repliky a je připravená pro úlohy jen pro čtení.

Na kterékoliv replikě použijte Průzkumník objektů v SSMS pro zobrazení synchronizovaného stavu každé replikované databáze. Rozšiřte skupiny Always On High Availability a Availability , abyste viděli distribuovanou skupinu dostupnosti vytvořenou pro tento odkaz.

Když je SQL Server primární, můžete pokračovat v zálohování transakčních logů během seedingu, pokud je trace flag 12381 povolen na podporované verzi. Pokud pozastavíte zálohování logů, abyste zabránili předčasnému ořezání, pokračujte v nich po dokončení počátečního osazování. Pro každou databázi bez plánu zálohování logů proveďte první zálohu logu transakcí až po dokončení počátečního seedování, nikoli během seedingu. Po dokončení seedingu všech vytvářených odkazů vypněte příznak, pokud jste ho povolili, a pravidelně zálohujte transakční logy SQL Server, dokud SQL Server zůstává primární. Když je primární Azure SQL Managed Instance, automaticky provádí zálohování transakčních logů. Nemusíte dělat ruční zálohy logů SQL Server pro tyto databáze, zatímco SQL Server je sekundární.

Předčasné zkrácení logů během seedování může způsobit chyby 1408 a 1412 v logu chyb SQL Managed Instance. U sestav, které to podporují, trace flag 12381 tomuto zkrácení brání. Po dokončení inicializace pro všechna vytvářená propojení tuto funkci zakažte a po dobu, kdy je povolená, sledujte využití protokolu transakcí, rychlost jeho růstu a volné místo na disku. Zálohování logů může pokračovat, dokud zůstávají uloženy potřebné záznamy. Toto uchovávání nenahrazuje běžné zálohy logů po seedování. Viz Zabránit předčasnému ořezání logaritmu.

Přidání databází

Použijte průvodce SSMS k přidání databází z aktuálního primárního systému, ať už je to SQL Server nebo SQL Managed Instance. Čaroděj automatizuje potřebné změny. Pro pokročilou automatizaci použijte PowerShell nebo Azure CLI. Přidání databáze je na primární straně jediná operace.

Před přidáním databází ověřte, že stávající spojení používá režim více databází a že cíl má dostatečnou kapacitu databáze a úložiště, bez existujících názvů databází, která by kolidovala s novými databázemi. Když je SQL Server primární, nastavte každou novou databázi, která ještě není ve skupině dostupnosti, na plný model obnovy a vytvořte plnou zálohu pomocí zálohovacího postupu SSMS.

Přidávejte databáze pomocí SSMS

Použijte průvodce Add Database to Azure SQL Managed Instance Link k přidání databází do existujícího propojení s více databázemi:

  1. Připojte se k aktuálnímu primárnímu v SSMS. V nástroji Průzkumník objektů rozbalte Always On High Availability a Skupiny dostupnosti.

  2. Klikněte pravým tlačítkem na skupinu distribuované dostupnosti pro váš odkaz, najeďte myší na odkaz Azure SQL Managed Instance a vyberte Přidat databázi....

    Screenshot kontextového menu skupiny distribuované dostupnosti v SSMS, který ukazuje příkazy Add Database a Remove Database.

  3. Pokračujte v úvodu a Azure Login a poté vyberte svůj odkaz s více databázemi na stránce Vybrat odkaz.

  4. Na stránce Výběr databází vyberte databáze, které chcete přidat. Můžete přidávat databáze pouze ve stavu Ready . Databáze již v odkazu jsou zobrazeny jako již součást vybraného odkazu. Před pokračováním vyřešte případné otázky způsobilosti.

    Snímek obrazovky průvodce Přidat databázi s vybranými DB10 a DB11 a se zachovanými existujícími členy propojení.

  5. Dokončete ověření a zkontrolujte shrnutí. Vyberte Dokončit pro provedení změny, nebo zvolte Skript pro vygenerování skriptu bez provedení změny, abyste ji mohli samostatně zkontrolovat, upravit a spustit. Pokud změnu provedete v wizardu, zkontrolujte si výsledky před jeho zavřením.

Přidávejte databáze pomocí skriptů

Spusťte přidání na aktuální primární instanci. Řiďte se pokyny pro danou situaci.

Když je SQL Server primární

Použijte T-SQL k přidání každé databáze do skupiny dostupnosti. Odkaz propaguje přidání do SQL Managed Instance. Na SQL Managed Instance není potřeba žádná další akce. Kvůli tomuto doplnění nespouštějte aktualizaci PowerShellu ani Azure CLI.

Když je SQL Managed Instance primární

Použijte PowerShell nebo Azure CLI k aktualizaci odkazu na SQL Managed Instance. Odkaz automaticky propaguje přidané databáze do skupiny dostupnosti. Na SQL Server není potřeba žádný samostatný krok. Uveďte kompletní zamýšlené členství, včetně všech stávajících databází, které chcete zachovat, a nových databází. Dodaný seznam nahrazuje současné členství. Vynechání databáze ji odstraní z členství odkazu.

Chcete-li například přidat DB09, když odkaz už obsahuje DB01, DB03, DB05 a DB07, ponechte tyto čtyři názvy v seznamu a přidejte do něj také DB09. Nahraďte názvy zdrojů a databází svými hodnotami.

Proměnná PowerShellu Azure CLI variable Description
$ResourceGroup ResourceGroupName Skupina prostředků, která obsahuje spravovanou instanci SQL.
$ManagedInstanceName ManagedInstanceName Název SQL spravované instance, která hostuje odkaz.
$DAGName DAGName Existující název odkazu, odpovídající názvu distribuované skupiny dostupnosti použitému při vytváření.
$DatabaseNames DatabaseNames Kompletní seznam existujících databází k zachování a nových databází k přidání. Příklad zachovává DB01, DB03, DB05 a DB07 a přidává DB09.

Použijte Update-AzSqlInstanceLink v PowerShellu. Použijte znovu $ResourceGroup, $ManagedInstanceName a $DAGName z kroku vytvoření nebo je nastavte tak, aby odkazovaly na skupinu zdrojů, instanci a odkaz, které chcete aktualizovat:

# Include every existing database to retain and each new database to add.
$DatabaseNames = @("DB01", "DB03", "DB05", "DB07", "DB09")

Update-AzSqlInstanceLink -ResourceGroupName $ResourceGroup -InstanceName $ManagedInstanceName -Name $DAGName -Database $DatabaseNames

Opakujte kroky ověřování replikace pro každou nově přidanou databázi. Ruční zálohování logů dodržujte pouze tehdy, když je SQL Server primární.

Odebrání databází

Použijte SSMS průvodce na aktuálním primárním útoku k automatizaci odstranění na obou stranách. Odstranění databáze vyžaduje její odstranění z odkazu na SQL Managed Instance a ze skupiny dostupnosti. Odstranění pouze na jedné straně operaci nedokončí.

Warning

Pokud odstraníte databázi z odkazu na SQL Managed Instance, ale ponecháte ji ve skupině dostupnosti, skupina dostupnosti se stane nezdravou. Úplné odstranění na obou stranách. Pro odstranění pomocí skriptu postupujte podle oddílu pro vašeho aktuálního primárního.

Odstraňte databáze pomocí SSMS

Následující kroky platí bez toho, zda je primární SQL Server nebo SQL Managed Instance:

  1. Připojte se k aktuálnímu primárnímu v SSMS. V nástroji Průzkumník objektů rozbalte Always On High Availability a Skupiny dostupnosti.

  2. Klikněte pravým tlačítkem na distribuovanou skupinu dostupnosti odkazu, najeďte myší na odkaz Azure SQL Managed Instance a vyberte Odstranit databázi....

    Snímek obrazovky nabídky pro distribuovanou skupinu dostupnosti s vybraným příkazem Odstranit databázi.

  3. V průvodci Odebrat databázi z propojení Azure SQL Managed Instance projděte stránkami Úvod a Přihlášení k Azure a na stránce Vybrat propojení vyberte propojení.

  4. Při výběru databází vyberte databáze k odstranění. Například vyberte DB05, abyste ho odstranili z odkazu, a pak zvolte Další.

    Snímek obrazovky průvodce Odebrat databázi s databází DB05 vybranou k odebrání z propojení.

  5. Dokončit validaci, zkontrolovat souhrn a zvolit Dokončit pro odstranění nebo skript pro zkontrolování generovaných příkazů jako první. Před zavřením průvodce zkontrolujte v části Výsledky, zda bylo dokončení úspěšné.

Odstraňte databáze pomocí skriptů

Odstraňte databáze na obou instancích. Aktuální primární instance určuje, kterou instanci aktualizovat jako první.

Příklady PowerShell a Azure CLI používají následující proměnné:

Proměnná PowerShellu Azure CLI variable Description
$ResourceGroup ResourceGroupName Skupina prostředků, která obsahuje spravovanou instanci SQL.
$ManagedInstanceName ManagedInstanceName Název SQL spravované instance, která hostuje odkaz.
$DAGName DAGName Existující název odkazu, odpovídající názvu distribuované skupiny dostupnosti použitému při vytváření.
$DatabaseNames DatabaseNames Kompletní seznam databází k uchování, kromě těch k odstranění. Příklady vylučují DB05 a zachovávají DB01, DB03, DB07, a .DB09

Když je SQL Server primární

  1. Použijte T-SQL k odstranění databází ze skupiny dostupnosti.
  2. Použijte PowerShell nebo Azure CLI k odstranění databází z odkazu na SQL Managed Instance, jak je uvedeno v této části.

Pro krok SQL Managed Instance uveďte kompletní seznam databází k uchování, vynechejte pouze ty, které chcete odstranit. Například pokud odkaz obsahuje DB07, DB09, DB05, DB05 a DB03, následující příkaz odstraní DB01 a ponechá ostatní čtyři. Nahraďte názvy zdrojů a databází svými hodnotami.

Použijte Update-AzSqlInstanceLink. Použijte znovu $ResourceGroup, $ManagedInstanceName a $DAGName z kroku vytvoření, nebo je nastavte na skupinu zdrojů, instanci a odkaz, které chcete aktualizovat:

# Include only the databases to retain, excluding DB05.
$DatabaseNames = @("DB01", "DB03", "DB07", "DB09")

Update-AzSqlInstanceLink -ResourceGroupName $ResourceGroup -InstanceName $ManagedInstanceName -Name $DAGName -Database $DatabaseNames

Když je SQL Managed Instance primární

  1. Použijte PowerShell nebo Azure CLI k odstranění databází z odkazu na SQL Managed Instance, jak je uvedeno v této části.
  2. Použijte T-SQL na SQL Server k odstranění databází ze skupiny dostupnosti. Odstranění není dokončeno, dokud tento krok nedokončíte.

Pro krok SQL Managed Instance uveďte kompletní seznam databází k uchování, vynechejte pouze ty, které chcete odstranit. Například pokud odkaz obsahuje DB07, DB09, DB05, DB05 a DB03, následující příkaz odstraní DB01 a ponechá ostatní čtyři. Nahraďte názvy zdrojů a databází svými hodnotami.

Použijte Update-AzSqlInstanceLink. Znovu použijte $ResourceGroup, $ManagedInstanceName, a $DAGName z vytvoření, nebo je nastavte na skupinu zdrojů, instanci a odkaz, které chcete aktualizovat:

# Include only the databases to retain, excluding DB05.
$DatabaseNames = @("DB01", "DB03", "DB07", "DB09")

Update-AzSqlInstanceLink -ResourceGroupName $ResourceGroup -InstanceName $ManagedInstanceName -Name $DAGName -Database $DatabaseNames

Ověřte, že odstraněné databáze již nepatří do odkazu ani do skupiny dostupnosti. Odstranění databáze z replikace není totéž jako smazání její uložené kopie. Předtím, než se rozhodnete, zda smažete kopii, kterou už nepotřebujete, si prohlédněte databáze obou instancí.

Fail over nebo přechod na Azure

Použijte stávající postupy pro failover v SSMS nebo skriptech k převrácení rolí mezi SQL Server a Azure SQL Managed Instance. Reverzní role vyžaduje, aby SQL spravovaná instance používala aktualizační politiku, která odpovídá vaší verzi SQL Server. Pro jednosměrnou replikaci a přepnutí na Azure SQL Managed Instance musí jeho zásady aktualizací odpovídat verzi vašeho serveru SQL Server nebo být vyšší. Nemůžete replikovat data ani se pak vrátit zpět na SQL Server, pokud se politiky neshodují. Projděte si podporované kombinace. Pokyny k migraci a přepnutí najdete v části Migrace pomocí odkazu.

Monitorování a řešení potíží s replikací

Použijte následující dynamické pohledy správy (DMV) a katalogový pohled na SQL Server ke kontrole hlavní skupiny dostupnosti, konektivity repliky a stavu replikace každé databáze:

View Information
sys.availability_groups Skupiny dostupnosti, s výjimkou interních skupin replikace v každé databázi.
sys.dm_hadr_availability_replica_states Role, připojení a stav synchronizace pro hlavní skupinu a interní replikační skupiny jednotlivých databází.
sys.dm_hadr_database_replica_states Stav replikace na úrovni databáze a stav synchronizace.
sys.dm_hadr_internal_availability_groups Interní replikační skupiny vytvořené pro jednotlivé databáze v režimu propojení s více databázemi.
sys.dm_hadr_internal_availability_replicas Repliky patřící do interních skupin replikace pro každou databázi v režimu propojení s více databázemi.
SELECT * FROM sys.availability_groups;
SELECT * FROM sys.dm_hadr_availability_replica_states;
SELECT * FROM sys.dm_hadr_database_replica_states;
SELECT * FROM sys.dm_hadr_internal_availability_groups;
SELECT * FROM sys.dm_hadr_internal_availability_replicas;

Pokud interní replikační DMV nejsou k dispozici nebo pokud spuštění uložené procedury sys.sp_multidb_milink ohlásí, že není k dispozici, ověřte verzi SQL Serveru a kumulativní aktualizaci nainstalovanou na dané replice. Pro obecné řešení problémů s konektivitou a replikací viz odkaz Troubleshoot the Managed Instance.

Omezení

Zvažte následující omezení při rozšiřování skupiny dostupnosti prostřednictvím linky s více databázemi:

  • Názvy odkazů musí používat malá písmena. Pomlčky jsou povoleny, ale jméno nesmí začínat ani končit pomlčkou.
  • Nedowngradujte žádnou repliku SQL Server pod SQL Server 2022 CU27 nebo SQL Server 2025 CU9, pokud je to relevantní, dokud je aktivní odkaz v režimu více databází. Downgrade pod požadovanou CU může způsobit nepředvídatelné problémy i bez failoveru.
  • Skupiny s omezenou dostupností nejsou podporovány.
  • Odkazy na jednu databázi a více databází nemohou koexistovat na stejné instanci SQL Server.
  • Nemůžeš změnit režim odkazu přímo na místě. Pro přepínání mezi režimy spojení s jednou databází a více databázemi odstraňte všechny existující spoje, změňte režim na každé replice SQL Server a poté znovu vytvořte spoje v novém režimu.
  • Když vytvoříte odkaz na existující skupinu dostupnosti, všechny databáze v této skupině musí být replikovány. Nemůžete vybrat jen podmnožinu databází v této skupině.
  • Zbývající kapacita databáze na cílové SQL spravované instanci omezuje počet databází, které můžete replikovat. Obecné a podnikově kritické databáze podporují až 100 databází na instanci a Next-gen General Purpose až 500. Stávající databáze se počítají do těchto limitů. Například instance s limitem 100 databází a 10 existujícími databázemi má kapacitu pro dalších 90 databází. Pro více informací viz limity zdrojů.
  • Přidání databází do skupiny dostupnosti nad rámec dostupné databázové kapacity cílové SQL managed instance může být úspěšné na SQL Server, ale replikace na SQL Managed Instance selže. Tato podmínka může zanechat spojení v nekonzistentním stavu, který vyžaduje ruční odstranění nereplikovaných databází ze skupiny dostupnosti.
  • Přidání databází se propaguje přes odkaz, ale odstranění databáze na jedné straně automaticky neodstraní databázi na druhé straně. Pokud odstraníte databázi ze skupiny dostupnosti, její kopie zůstane v SQL Managed Instance. Pokud odstraníte databázi z odkazu na SQL Managed Instance, databáze zůstává ve skupině dostupnosti bez replikace přes odkaz a vyžaduje ruční čištění.
  • Při přidávání databází do existujícího spojení přes SSMS můžete přidávat pouze databáze ve stavu Ready . Nemůžete přidávat databáze, které patří do jiné skupiny dostupnosti nebo mají název, který už existuje na cílové stanici.