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 dozvíte, jak připravit prostředí na propojení spravované instance, abyste mohli replikovat mezi SQL Serverem nainstalovaným do Windows nebo Linuxu a azure SQL Managed Instance.

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:

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/ zdroj Potřebná oprávnění
Microsoft.Sql/managedInstances /číst, /psát
Microsoft.Sql/managedInstances/hybridCertificate za akci
Microsoft.Sql/managedInstances/databases /číst, /smazat, /psát, /úplnáObnova/akce, /čístZálohy/akce, /podrobnostiObnovy/číst
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 /napsat, /smazat, /číst

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.
  • Správné příznaky trasování jste přidali při spuště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.

Poznámka:

Pro SQL Server na Linuxu viz Povolit skupiny dostupnosti Always On.

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 přípravě požadavků na SQL Server 2016 – Azure SQL Managed Instance. 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 Always On Availability Groups.

  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

  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í povoluje kompresi datového toku pro skupiny dostupnosti během automatického nasazení. Komprese zvyšuje zatížení procesoru, ale může výrazně zkrátit dobu přenosu během inicializace.

Poznámka:

Pro více informací o SQL Server na Linuxu, viz Enable trace flags.

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 pro aktivaci sledovacích příznaků.

Restartujte SQL Server a ověřte konfiguraci.

Po ověření, že používáte podporovanou verzi SQL Serveru, jste povolili funkci Skupiny dostupnosti Always On a přidali jste příznaky trasování spuštění, restartujte instanci SQL Serveru, aby byly všechny tyto změny aplikovány.

  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í s příslušnými aktualizacemi služeb, funkce skupiny dostupnosti Always On by měla být povolená a měli byste mít povolené příznaky trasování -T1800 a -T9567. 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í:

Propojení sítí je vhodnější, protože používá páteřní síť Microsoftu, takže z hlediska síťového připojení neexistuje znatelný rozdíl v latenci mezi virtuálními počítači v propojené virtuální síti a ve stejné virtuální síti. Propojení virtuálních sítí je podporováno mezi sítěmi ve stejném regionu. Globální propojení 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 firewall na celý rozsah IP adres podsítě služby SQL Managed Instance. V případě potřeby proveďte totéž ve firewallu operačního systému hostitele 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íťový firewall pro celý rozsah IP adres podsítě SQL Managed Instance. V případě potřeby proveďte totéž také v bráně firewall operačního systému hostujícího SQL Server (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ém firewallu v síťovém prostředí, včetně hostitelského serveru, a také v jakýchkoli podnikových firewallech nebo bránách na 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řidat adresy URL do povoleného seznamu

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á, do vašeho 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.

Otestujte síť vytvořením dočasné úlohy agenta SQL na SQL Serveru i ve spravované instanci SQL a zkontrolujte připojení mezi těmito dvěma instancemi. Když v nástroji SSMS použijete nástroj Network Checker , úloha se automaticky vytvoří za vás a po dokončení testu se odstraní. Pokud otestujete síť pomocí T-SQL, musíte úlohu agenta SQL ručně odstranit.

Poznámka:

Spouštění skriptů PowerShellu agentem SQL Serveru na SQL Serveru v Linuxu se v současné době nepodporuje, takže v současné době není možné spustit Test-NetConnection z úlohy agenta SQL Serveru na SQL Serveru v Linuxu.

Pokud chcete k otestování připojení k síti použít agenta SQL, potřebujete následující požadavky:

  • Uživatel provádějící test musí mít oprávnění k vytvoření úlohy (buď jako správce systému, nebo patří do role SQLAgentOperator pro msdb) pro SQL Server i spravovanou instanci SQL.
  • Na SQL Serveru musí být spuštěná služba agenta SQL Serveru. Vzhledem k tomu, že je agent ve výchozím nastavení ve službě SQL Managed Instance zapnutý, není nutná žádná další akce.

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í. Vyberte Úkoly>odkaz Azure SQL Managed Instance>Testovací připojení pro otevření průvodce Kontrola sítě:

    Snímek obrazovky z průzkumníku objektů v SSMS, s vybraným testovacím připojením v kontextové nabídce odkazu 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.

Poznámka:

SQL Server v Linuxu podporuje Službu Azure Key Vault počínaje SQL Serverem 2022 CU 14.

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, zda se v nabídce zobrazuje možnost Azure SQL Managed Instance odkaz.

Snímek obrazovky, který ukazuje možnost odkazu Azure SQL Managed Instance v kontextové 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 .

Použití odkazu:

Další informace o odkazu:

V případě jiných scénářů replikace a migrace zvažte následující: