Sdílet prostřednictvím


Příprava prostředí na odkaz – Azure SQL Managed Instance

Platí pro: Azure SQL Managed Instance

V tomto článku se naučíte, jak připravit prostředí na propojení spravované instance, abyste mohli replikovat mezi SQL Serverem a spravovanou instancí Azure SQL.

Poznámka:

Pomocí skriptu ke stažení můžete automatizovat přípravu prostředí pro odkaz na spravovanou instanci. Další informace najdete na blogu o nastavení odkazu pro automatizaci.

Požadavky

Pokud chcete vytvořit propojení mezi SQL Serverem a službou Azure SQL Managed Instance, potřebujete následující požadavky:

  • Aktivní předplatné Azure. Pokud žádné nemáte, vytvořte si bezplatný účet.
  • Podporovaná verze SQL Serveru s požadovanou aktualizací služby
  • Azure SQL Managed Instance. Začněte , pokud ho nemáte.
  • Rozhodněte se, ze kterého serveru chcete být počátečním primárním serverem, abyste zjistili, odkud byste měli vytvořit propojení. Konfigurace odkazu z primární instance SQL na sekundární sql Server je podporována pouze od SQL Serveru 2022 CU10.

Upozornění

Při vytváření spravované instance SQL pro použití s funkcí propojení vezměte v úvahu požadavky na paměť pro všechny funkce OLTP v paměti, které SQL Server používá. Další informace najdete v tématu Přehled limitů prostředků služby Azure SQL Managed Instance.

Oprávnění

Pro SQL Server byste měli mít oprávnění správce systému.

Pro spravovanou instanci Azure SQL byste měli být členem přispěvatele služby SQL Managed Instance nebo mít pro vlastní roli následující oprávnění:

Microsoft.Sql/ prostředek Potřebná oprávnění
Microsoft.Sql/managedInstances /read, /write
Microsoft.Sql/managedInstances/hybridCertificate za akci
Microsoft.Sql/managedInstances/databases /read, /delete, /write, /completeRestore/action, /readBackups/action, /restoreDetails/read
Microsoft.Sql/managedInstances/distributedAvailabilityGroups /read, /write, /delete, /setRole/action
Microsoft.Sql/managedInstances/endpointCertificates /číst
Microsoft.Sql/managedInstances/hybridLink /read, /write, /delete
Microsoft.Sql/managedInstances/serverTrustCertificates /write, /delete, /read

Příprava instance SQL Serveru

Pokud chcete připravit instanci SQL Serveru, musíte ověřit, že:

  • Používáte minimální podporovanou verzi.
  • Povolili jste funkci skupin dostupnosti.
  • Při spuštění jste přidali správné příznaky trasování.
  • Vaše databáze jsou v úplném modelu obnovení a zálohovány.

Aby se tyto změny projevily, musíte restartovat SQL Server.

Instalace aktualizací služby

Ujistěte se, že vaše verze SQL Serveru má nainstalovanou příslušnou servisní aktualizaci, jak je uvedeno v tabulce podpory verzí. Pokud potřebujete nainstalovat jakékoli aktualizace, musíte během aktualizace restartovat instanci SQL Serveru.

Pokud chcete zkontrolovat verzi SQL Serveru, spusťte na SQL Serveru následující skript jazyka Transact-SQL (T-SQL):

-- Run on SQL Server
-- Shows the version and CU of the SQL Server
USE master;
GO
SELECT @@VERSION as 'SQL Server version';

Vytvoření hlavního klíče databáze v master databázi

Pokud ještě neexistuje, vytvořte v master databázi hlavní klíč databáze. Místo následujícího skriptu vložte heslo <strong_password> a uchovávejte ho na důvěrném a bezpečném místě. Spusťte tento skript T-SQL na SQL Serveru:

-- Run on SQL Server
-- Create a master key
USE master;
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<strong_password>';

Abyste měli jistotu, že máte hlavní klíč databáze, použijte na SQL Serveru následující skript T-SQL:

-- Run on SQL Server
USE master;
GO
SELECT * FROM sys.symmetric_keys WHERE name LIKE '%DatabaseMasterKey%';

Povolení skupin dostupnosti

Funkce propojení spoléhá na funkci skupiny dostupnosti AlwaysOn, která je ve výchozím nastavení zakázaná. Další informace najdete v tématu Povolení funkce Skupiny dostupnosti AlwaysOn.

Pokud chcete ověřit, že je funkce skupin dostupnosti povolená, spusťte na SQL Serveru následující skript T-SQL:

-- Run on SQL Server
-- Is the availability groups feature enabled on this SQL Server
DECLARE @IsHadrEnabled sql_variant = (select SERVERPROPERTY('IsHadrEnabled'))
SELECT
    @IsHadrEnabled as 'Is HADR enabled',
    CASE @IsHadrEnabled
        WHEN 0 THEN 'Availability groups DISABLED.'
        WHEN 1 THEN 'Availability groups ENABLED.'
        ELSE 'Unknown status.'
    END
    as 'HADR status'

Důležité

Pokud pro SQL Server 2016 (13.x) potřebujete povolit funkci skupin dostupnosti, budete muset provést další kroky popsané v požadavcích připravit SQL Server 2016 – Azure SQL Managed Instance odkaz. Tyto další kroky nejsou vyžadovány pro SQL Server 2019 (15.x) a novější verze podporované odkazem.

Pokud funkce skupin dostupnosti není povolená, povolte ji následujícím postupem:

  1. Otevřete nástroj SQL Server Configuration Manager.

  2. V levém podokně vyberte služby SQL Serveru.

  3. Klikněte pravým tlačítkem myši na službu SQL Serveru a pak vyberte Vlastnosti.

    Snímek obrazovky znázorňující SQL Server Configuration Manager s výběry pro otevření vlastností služby

  4. Přejděte na kartu Skupiny dostupnosti AlwaysOn.

  5. Zaškrtněte políčko Povolit skupiny dostupnosti AlwaysOn a pak vyberte OK.

    Snímek obrazovky znázorňující vlastnosti skupin dostupnosti AlwaysOn

    • Pokud používáte SQL Server 2016 (13.x) a pokud je možnost Povolit skupiny dostupnosti AlwaysOn zakázaná se zprávou This computer is not a node in a failover cluster., postupujte podle dodatečných kroků popsaných v požadavcích pro přípravu SQL Serveru 2016 – odkaz azure SQL Managed Instance. Po dokončení těchto dalších kroků se vraťte a zkuste tento krok zopakovat.
  6. V dialogovém okně vyberte OK .

  7. Restartujte službu SQL Server.

Povolení příznaků trasování po spuštění

Pokud chcete optimalizovat výkon odkazu, doporučujeme při spuštění povolit následující příznaky trasování:

  • -T1800: Tento příznak trasování optimalizuje výkon, když jsou soubory protokolů pro primární a sekundární repliky ve skupině dostupnosti hostované na discích s různými velikostmi sektorů, například 512 bajtů a 4 kB. Pokud primární i sekundární repliky mají velikost sektoru disku 4 kB, tento příznak trasování se nevyžaduje. Další informace najdete v tématu KB3009974.
  • -T9567: Tento příznak trasování umožňuje kompresi datového streamu pro skupiny dostupnosti během automatického počátečního nastavení. Komprese zvyšuje zatížení procesoru, ale může výrazně zkrátit dobu přenosu během počátečního nastavení.

Pokud chcete při spuštění povolit tyto příznaky trasování, postupujte následovně:

  1. Otevřete nástroj SQL Server Configuration Manager.

  2. V levém podokně vyberte služby SQL Serveru.

  3. Klikněte pravým tlačítkem myši na službu SQL Serveru a pak vyberte Vlastnosti.

    Snímek obrazovky znázorňující správce konfigurace SQL Serveru

  4. Přejděte na kartu Spouštěcí parametry . V části Zadání spouštěcího parametru zadejte -T1800 a vyberte Přidat a přidejte spouštěcí parametr. Pak zadejte -T9567 a vyberte Přidat a přidejte další příznak trasování. Výběrem možnosti Použít změny uložte.

    Snímek obrazovky znázorňující vlastnosti spouštěcího parametru

  5. Výběrem ok zavřete okno Vlastnosti .

Další informace najdete v syntaxi povolení příznaků trasování.

Restartujte SQL Server a ověřte konfiguraci.

Po ověření, že používáte podporovanou verzi SQL Serveru, povolte funkci Skupiny dostupnosti AlwaysOn a přidali příznaky trasování spuštění, restartujte instanci SQL Serveru, aby se všechny tyto změny projevily:

  1. Otevřete SQL Server Configuration Manager.

  2. V levém podokně vyberte služby SQL Serveru.

  3. Klikněte pravým tlačítkem myši na službu SQL Serveru a pak vyberte Restartovat.

    Snímek obrazovky znázorňující volání příkazu restartování SQL Serveru

Po restartování spusťte na SQL Serveru následující skript T-SQL, který ověří konfiguraci vaší instance SQL Serveru:

-- Run on SQL Server
-- Shows the version and CU of SQL Server
USE master;
GO
SELECT @@VERSION as 'SQL Server version';
GO
-- Shows if the Always On availability groups feature is enabled
SELECT SERVERPROPERTY ('IsHadrEnabled') as 'Is Always On enabled? (1 true, 0 false)';
GO
-- Lists all trace flags enabled on SQL Server
DBCC TRACESTATUS;

Vaše verze SQL Serveru by měla být jednou z podporovaných verzí použitých s příslušnými aktualizacemi služeb, měla by být povolená funkce skupiny dostupnosti AlwaysOn a měli byste mít příznak trasování -T1800 a -T9567 povolit. Následující snímek obrazovky je příkladem očekávaného výsledku pro instanci SQL Serveru, která je správně nakonfigurovaná:

Snímek obrazovky znázorňující očekávaný výsledek v S S M S

Konfigurace síťového připojení

Aby propojení fungovalo, musíte mít síťové připojení mezi SQL Serverem a spravovanou instancí SQL. Možnost sítě, kterou zvolíte, závisí na tom, jestli je vaše instance SQL Serveru v síti Azure.

SQL Server na Azure Virtual Machines

Nasazení SQL Serveru na virtuální počítače Azure ve stejné virtuální síti Azure, která je hostitelem služby SQL Managed Instance, je nejjednodušší metoda, protože mezi těmito dvěma instancemi automaticky existuje síťové připojení. Další informace najdete v tématu Rychlý start: Konfigurace virtuálního počítače Azure pro připojení ke službě Azure SQL Managed Instance.

Pokud je váš SQL Server na virtuálních počítačích Azure v jiné virtuální síti než vaše spravovaná instance, musíte vytvořit připojení mezi oběma virtuálními sítěmi. Tento scénář funguje i v případě, že virtuální sítě nejsou ve stejném předplatném.

Existují dvě možnosti připojení virtuálních sítí:

Partnerský vztah je vhodnější, protože používá páteřní síť Microsoftu, takže z hlediska připojení neexistuje žádný znatelný rozdíl v latenci mezi virtuálními počítači v partnerské virtuální síti a ve stejné virtuální síti. Partnerský vztah virtuálních sítí se podporuje mezi sítěmi ve stejné oblasti. Globální partnerský vztah virtuálních sítí se podporuje pro instance hostované v podsítích vytvořených po 22. září 2020. Další informace najdete v tématu Nejčastější dotazy.

SQL Server mimo Azure

Pokud je vaše instance SQL Serveru hostovaná mimo Azure, vytvořte připojení VPN mezi SQL Serverem a spravovanou instancí SQL pomocí některé z těchto možností:

Tip

Pro zajištění nejlepšího výkonu sítě při replikaci dat doporučujeme ExpressRoute. Zřiďte bránu s dostatečnou šířkou pásma pro váš případ použití.

Síťové porty mezi prostředími

Bez ohledu na mechanismus připojení musí být splněny požadavky, aby síťový provoz proudil mezi prostředími:

Pravidla skupiny zabezpečení sítě (NSG) v podsíti, která hostuje spravovanou instanci, musí umožňovat:

  • Příchozí port 5022 a rozsah portů 11000–11999 pro příjem provozu ze zdrojové IP adresy SQL Serveru
  • Odchozí port 5022 pro odesílání provozu do cílové IP adresy SQL Serveru

Všechny brány firewall v síti hostující SQL Server a hostitelský operační systém musí povolit:

  • Příchozí port 5022 otevřený pro příjem provozu ze zdrojového rozsahu IP adres podsítě MI /24 (například 10.0.0.0/24)
  • Odchozí porty 5022 a rozsah portů 11000–11999 otevřené pro odesílání provozu do cílového rozsahu IP adres podsítě MI (příklad 10.0.0.0/24)

Diagram znázorňující síťové požadavky pro nastavení propojení mezi SQL Serverem a spravovanou instancí

Následující tabulka popisuje akce portů pro každé prostředí:

Prostředí Co dělat
SQL Server (v Azure) Otevřete příchozí i odchozí provoz na portu 5022 pro síťovou bránu firewall do celého rozsahu IP adres podsítě spravované instance SQL. V případě potřeby proveďte totéž v bráně firewall hostitelského operačního systému SQL Serveru (Windows/Linux). Pokud chcete povolit komunikaci na portu 5022, vytvořte ve virtuální síti, která je hostitelem virtuálního počítače, pravidlo skupiny zabezpečení sítě (NSG).
SQL Server (mimo Azure) Otevřete příchozí i odchozí provoz na portu 5022 pro síťovou bránu firewall do celého rozsahu IP adres podsítě spravované instance SQL. V případě potřeby proveďte totéž v bráně firewall hostitelského operačního systému SQL Serveru (Windows/Linux).
Spravovaná instance SQL Na webu Azure Portal vytvořte pravidlo NSG, které povolí příchozí a odchozí provoz z IP adresy a sítě hostující SQL Server na portu 5022 a rozsah portů 11000–11999.

Pomocí následujícího skriptu PowerShellu v hostitelském operačním systému Windows instance SQL Serveru otevřete porty v bráně Windows Firewall:

New-NetFirewallRule -DisplayName "Allow TCP port 5022 inbound" -Direction inbound -Profile Any -Action Allow -LocalPort 5022 -Protocol TCP
New-NetFirewallRule -DisplayName "Allow TCP port 5022 outbound" -Direction outbound -Profile Any -Action Allow -LocalPort 5022 -Protocol TCP

Následující diagram znázorňuje příklad místního síťového prostředí, které označuje, že všechny brány firewall v prostředí musí mít otevřené porty, včetně brány firewall operačního systému hostující SQL Server a všech podnikových bran firewall a/nebo bran:

Diagram znázorňující síťovou infrastrukturu pro nastavení propojení mezi SQL Serverem a spravovanou instancí

Důležité

  • Porty musí být otevřené v každé bráně firewall v síťovém prostředí, včetně hostitelského serveru, i všech podnikových bran firewall nebo bran v síti. V podnikových prostředích možná budete muset zobrazit informace správce sítě v této části, abyste mohli otevřít další porty v podnikové síťové vrstvě.
  • I když se můžete rozhodnout přizpůsobit koncový bod na straně SQL Serveru, čísla portů pro službu SQL Managed Instance se nedají změnit ani přizpůsobit.
  • Rozsahy IP adres podsítí hostující spravované instance a SQL Server se nesmí překrývat.

Přidání adres URL pro seznam povolených

V závislosti na nastavení zabezpečení sítě může být potřeba přidat adresy URL pro plně kvalifikovaný název domény služby SQL Managed Instance a některé koncové body správy prostředků, které Azure používá k vašemu seznamu povolených.

Následující seznam obsahuje zdroje, které by se měly přidat do seznamu povolených:

  • Plně kvalifikovaný název domény (FQDN) vaší spravované instance SQL. Příklad: managedinstance1.6d710bcf372b.database.windows.net.
  • Microsoft Entra Authority
  • ID prostředku koncového bodu Microsoft Entra
  • Koncový bod Resource Manageru
  • Koncový bod služby

Postupujte podle kroků v části Konfigurace SSMS pro cloudy státní správy pro přístup k rozhraní Nástrojů v sadě SQL Server Management Studio (SSMS) a identifikujte konkrétní adresy URL pro prostředky v cloudu, které je potřeba přidat do seznamu povolených.

Testování připojení k síti

Aby propojení fungovalo, je nezbytné obousměrné síťové připojení mezi SQL Serverem a službou SQL Managed Instance. Po otevření portů na straně SQL Serveru a konfiguraci pravidla NSG na straně služby SQL Managed Instance otestujte připojení pomocí aplikace SQL Server Management Studio (SSMS) nebo Transact-SQL.

Pokud chcete otestovat síťové připojení mezi SQL Serverem a službou SQL Managed Instance v nástroji SSMS, postupujte takto:

  1. Připojte se k instanci, která bude primární replikou v nástroji SSMS.

  2. V Průzkumník objektů rozbalte databáze a klikněte pravým tlačítkem myši na databázi, kterou chcete propojit se sekundární databází. >Výběrem odkazu>Testovací připojení ke službě Azure SQL Managed Instance otevřete Průvodce kontrolou sítě:

    Snímek obrazovky s průzkumníkem objektů v S S M S S S s vybraným testovacím připojením v nabídce pro kliknutí pravým tlačítkem myši na odkaz na databázi

  3. Na úvodní stránce průvodce službou Network Checker vyberte Další.

  4. Pokud jsou splněny všechny požadavky na stránce Požadavky, vyberte Další. V opačném případě vyřešte všechny nesplněné požadavky a pak vyberte Znovu spustit ověření.

  5. Na přihlašovací stránce vyberte Přihlášení, abyste se připojili k druhé instanci, která bude sekundární replikou. Vyberte Další.

  6. Zkontrolujte podrobnosti na stránce Zadat možnosti sítě a v případě potřeby zadejte IP adresu. Vyberte Další.

  7. Na stránce Souhrn zkontrolujte akce, které průvodce provede, a pak výběrem možnosti Dokončit otestujte připojení mezi těmito dvěma replikami.

  8. Zkontrolujte stránku Výsledky a ověřte, že mezi těmito dvěma replikami existuje připojení, a pak vyberte Zavřít a dokončete.

Upozornění

Pokračujte dalšími kroky jenom v případě, že jste ověřili síťové připojení mezi zdrojovým a cílovým prostředím. V opačném případě před pokračováním vyřešte potíže s připojením k síti.

Migrace certifikátu databáze chráněné transparentním šifrováním dat (volitelné)

Pokud propojíte databázi SQL Serveru chráněnou službou transparentní šifrování dat (TDE) se spravovanou instancí, musíte před použitím odkazu migrovat odpovídající šifrovací certifikát z místní instance nebo z instance SQL Serveru virtuálního počítače Azure do spravované instance. Podrobný postup najdete v tématu Migrace certifikátu databáze chráněné transparentním šifrováním dat do spravované instance Azure SQL.

Databáze služby SQL Managed Instance, které jsou šifrované pomocí klíčů transparentního šifrování dat spravované službou, nejde propojit s SQL Serverem. Šifrovanou databázi můžete propojit s SQL Serverem jenom v případě, že byla šifrovaná pomocí klíče spravovaného zákazníkem a cílový server má přístup ke stejnému klíči, který se používá k šifrování databáze. Další informace najdete v tématu Nastavení transparentního šifrování dat SQL Serveru pomocí služby Azure Key Vault.

Instalace aplikace SSMS

SQL Server Management Studio (SSMS) je nejjednodušší způsob, jak použít odkaz na spravovanou instanci. Stáhněte si SSMS verze 19.0 nebo novější a nainstalujte ho do klientského počítače.

Po dokončení instalace otevřete SSMS a připojte se k podporované instanci SQL Serveru. Klikněte pravým tlačítkem myši na uživatelskou databázi a ověřte, že se v nabídce zobrazí možnost propojení azure SQL Managed Instance.

Snímek obrazovky znázorňující možnost odkazu azure SQL Managed Instance v místní nabídce

Konfigurace SSMS pro cloudy státní správy

Pokud chcete nasadit službu SQL Managed Instance do cloudu pro státní správu, musíte upravit nastavení aplikace SQL Server Management Studio (SSMS) tak, aby používala správný cloud. Pokud službu SQL Managed Instance nenasazujete do cloudu pro státní správu, přeskočte tento krok.

Pokud chcete aktualizovat nastavení SSMS, postupujte takto:

  1. Otevřete aplikaci SSMS.
  2. V nabídce vyberte Nástroje a pak zvolte Možnosti.
  3. Rozbalte služby Azure a vyberte Azure Cloud.
  4. V části Vybrat cloud Azure použijte rozevírací seznam a zvolte AzureUSGovernment nebo jiný cloud pro státní správu, jako je AzureChinaCloud:

Snímek obrazovky s uživatelským rozhraním SSMS, stránkou možností, službami Azure a zvýrazněným cloudem Azure

Pokud se chcete vrátit do veřejného cloudu, v rozevíracím seznamu zvolte AzureCloud .