Vorbereiten Ihrer Umgebung für einen Managed Instance-Link: Azure SQL Managed Instance

Gilt für:Azure SQL Managed Instance

In diesem Artikel erfahren Sie, wie Sie Ihre Umgebung für einen verwaltete Instanz-Link vorbereiten, um aus dem SQL Server in Azure SQL Managed Instance replizieren zu können.

Hinweis

Sie können die Vorbereitung Ihrer Umgebung für den Managed Instance-Link mit Hilfe eines herunterladbaren Skripts automatisieren. Weitere Informationen finden Sie im Blog Automatisieren der Link-Setup-Einrichtung.

Voraussetzungen

Um einen Link zwischen SQL Server und Azure SQL Managed Instance zu erstellen ist Folgendes erforderlich:

Achtung

Wenn Sie Ihre verwaltete SQL Managed-Instance für die Verwendung mit dem Linkfeature erstellen, werden die Speicheranforderungen für alle von SQL Server verwendeten In-Memory-OLTP-Features berücksichtigt. Weitere Informationen finden Sie unter Übersicht über Ressourceneinschränkungen für Azure SQL Managed Instance.

Berechtigungen

Für SQL Server sollten Sie über sysadmin-Berechtigungen verfügen.

Für Azure SQL Managed Instance sollten Sie Mitglied der Rolle Mitwirkender für verwaltete SQL-Instanzen sein oder über die folgenden Berechtigungen für eine benutzerdefinierte Rolle verfügen:

Microsoft.Sql/resource Erforderliche Berechtigungen
Microsoft.Sql/managedInstances /read, /write
Microsoft.Sql/managedInstances/hybridCertificate /action
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 /read
Microsoft.Sql/managedInstances/hybridLink /read, /write, /delete
Microsoft.Sql/managedInstances/serverTrustCertificates /write, /delete, /read

Vorbereiten der SQL Server-Instanz

Vergewissern Sie sich zur Vorbereitung Ihrer SQL Server-Instanz, dass Folgendes zutrifft:

  • Sie verwenden die unterstützte Mindestversion.
  • Sie haben das Verfügbarkeitsgruppenfeature aktiviert.
  • Sie haben die richtigen Ablaufverfolgungsflags beim Start hinzugefügt.
  • Ihre Datenbanken befinden sich im vollständigen Wiederherstellungsmodell und wurden gesichert.

Sie müssen SQL Server neu starten, damit diese Änderungen wirksam werden.

Installieren von Dienstupdates

Vergewissern Sie sich, dass auf Ihrer SQL Server-Version das entsprechende Wartungsupdate installiert ist, wie in der folgenden Tabelle der Versionsunterstützung aufgeführt. Wenn Sie Updates installieren, müssen Sie Ihre SQL Server-Instanz während des Updates neu starten.

Führen Sie das folgende Transact-SQL-Skript (T-SQL) in SQL Server aus, um zu überprüfen, welche SQL Server-Version Sie verwenden:

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

Erstellen eines Datenbankhauptschlüssels in der master-Datenbank

Erstellen Sie den Hauptschlüssel der Datenbank in der master-Datenbank, falls noch keiner vorhanden ist. Geben Sie Ihr Kennwort anstelle von <strong_password> in das nachfolgende Skript ein, und bewahren Sie es an einem vertraulichen und sicheren Ort auf. Führen Sie dieses T-SQL-Skript unter SQL Server aus:

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

Verwenden Sie das folgende T-SQL-Skript in SQL Server, um sich zu vergewissern, dass Sie über den Datenbankhauptschlüssel verfügen:

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

Aktivieren von Verfügbarkeitsgruppen

Das Linkfeature basiert auf der Funktion für Always On-Verfügbarkeitsgruppen, die standardmäßig deaktiviert ist. Weitere Informationen finden Sie unter Aktivieren des Features für Always On-Verfügbarkeitsgruppen.

Führen Sie das folgende T-SQL-Skript in SQL Server aus, um sich zu vergewissern, dass die Funktion Verfügbarkeitsgruppen aktiviert ist:

-- 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'

Wichtig

Wenn Sie für SQL Server 2016 (13.x) das Feature „Verfügbarkeitsgruppen“ aktivieren müssen, müssen Sie zusätzliche Schritte durchführen, die unter Vorbereiten der SQL Server 2016-Voraussetzungen - Azure SQL Managed Instance-Link dokumentiert sind. Diese zusätzlichen Schritte sind für SQL Server 2019 (15.x) und spätere Versionen, die von dem Link unterstützt werden, nicht erforderlich.

Wenn das Feature für Verfügbarkeitsgruppen nicht aktiviert ist, führen Sie die folgenden Schritte aus, um es zu aktivieren:

  1. Öffnen Sie den SQL Server-Konfigurations-Manager.

  2. Wählen Sie im linken Bereich SQL Server-Dienste aus.

  3. Klicken Sie mit der rechten Maustaste auf den SQL Server-Dienst, und wählen Sie Eigenschaften aus.

    Screenshot that shows SQL Server Configuration Manager, with selections for opening properties for the service.

  4. Wechseln Sie zur Registerkarte Always On-Verfügbarkeitsgruppen.

  5. Aktivieren Sie das Kontrollkästchen Always On-Verfügbarkeitsgruppen aktivieren, und wählen Sie anschließend OK aus.

    Screenshot that shows the properties for Always On availability groups.

    • Wenn Sie SQL Server 2016 (13.x) verwenden und die Option Always-On-Verfügbarkeitsgruppen aktivieren mit der Meldung This computer is not a node in a failover cluster. deaktiviert ist, führen Sie die zusätzlichen Schritte aus, die unter Vorbereitung der SQL Server 2016-Voraussetzungen - Azure SQL Managed Instance-Link beschrieben sind. Wenn Sie diese anderen Schritte abgeschlossen haben, kommen Sie zurück und wiederholen Sie diesen Schritt.
  6. Wählen Sie im Dialogfeld OK aus.

  7. Starten Sie den SQL Server-Dienst neu.

Aktivieren von Flags für die Ablaufverfolgung beim Starten

Um die Leistung Ihres Links zu optimieren, empfiehlt es sich, beim Start die folgenden Ablaufverfolgungs-Flags zu aktivieren:

  • -T1800: Mit diesem Ablaufverfolgungsflag wird die Leistung für den Fall verbessert, dass die Protokolldateien für das primäre und das sekundäre Replikat in einer Verfügbarkeitsgruppe auf Datenträgern gehostet werden, die unterschiedliche Sektorgrößen aufweisen, z. B. 512 Bytes und 4 KB. Wenn die Sektorgröße des Datenträgers sowohl für das primäre als auch für das sekundäre Replikat 4 KB beträgt, ist dieses Ablaufverfolgungsflag nicht erforderlich. Weitere Informationen finden Sie unter KB3009974.
  • -T9567: Dieses Ablaufverfolgungsflag aktiviert die Komprimierung des Datenstroms für Verfügbarkeitsgruppen während des automatischen Seedings. Die Komprimierung erhöht die Auslastung des Prozessors, kann jedoch die Übertragungszeit während des Seedings erheblich reduzieren.

Führen Sie die folgenden Schritte aus, um diese Ablaufverfolgungsflags beim Start zu aktivieren:

  1. Öffnen Sie den SQL Server-Konfigurations-Manager.

  2. Wählen Sie im linken Bereich SQL Server-Dienste aus.

  3. Klicken Sie mit der rechten Maustaste auf den SQL Server-Dienst, und wählen Sie Eigenschaften aus.

    Screenshot that shows SQL Server Configuration Manager.

  4. Wechseln Sie zur Registerkarte Startparameter. Geben Sie unter Startparameter angeben -T1800 ein, und wählen Sie Hinzufügen aus, um den Startparameter hinzuzufügen. Geben Sie dann -T9567 ein, und wählen Sie Hinzufügen aus, um das andere Ablaufverfolgungsflag hinzuzufügen. Wählen Sie Übernehmen aus, um die Änderungen zu speichern.

    Screenshot that shows startup parameter properties.

  5. Wählen Sie OK aus, um das Fenster Eigenschaften zu schließen.

Weitere Informationen finden Sie in der Syntax zum Aktivieren von Ablaufverfolgungs-Flags.

Neustarten von SQL Server und Überprüfen der Konfiguration

Nachdem Sie sichergestellt haben, dass Sie eine unterstützte Version von SQL Server verwenden, sowie das Feature für Always On-Verfügbarkeitsgruppen aktiviert und die Flags für die Ablaufverfolgung beim Starten hinzugefügt haben, starten Sie Ihre SQL Server-Instanz neu, um alle Änderungen anzuwenden:

  1. Öffnen Sie den SQL Server-Konfigurations-Manager.

  2. Wählen Sie im linken Bereich SQL Server-Dienste aus.

  3. Klicken Sie mit der rechten Maustaste auf den SQL Server-Dienst, und wählen Sie Neu starten aus.

    Screenshot that shows the SQL Server restart command call.

Führen Sie nach dem Neustart das folgende T-SQL-Skript in SQL Server aus, um die Konfiguration Ihrer SQL Server-Instanz zu überprüfen:

-- 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;

Ihre SQL Server-Version sollte eine der unterstützten Versionen mit angewandten Dienstupdates sein, die Funktionen Always On-Verfügbarkeitsgruppen sollte aktiviert sein, und Sie sollten die Ablaufverfolgungs-Flags -T1800 und -T9567 aktiviert haben. Der folgende Screenshot zeigt ein Beispiel für das erwartete Ergebnis bei einer ordnungsgemäß konfigurierten SQL Server-Instanz:

Screenshot that shows the expected outcome in S S M S.

Konfigurieren der Netzwerkverbindung

Damit der Link funktioniert, muss zwischen SQL Server und SQL Managed Instance eine Netzwerkverbindung bestehen. Die von Ihnen ausgewählte Netzwerkoption hängt davon ab, ob sich Ihre SQL Server-Instanz in einem Azure-Netzwerk befindet.

SQL Server auf Azure-VMs

Am einfachsten ist es, SQL Server auf Azure Virtual Machines im gleichen virtuellen Azure-Netzwerk bereitzustellen, in dem auch SQL Managed gehostet wird, da so automatisch Netzwerkkonnektivität zwischen den beiden Instanzen besteht. Weitere Informationen finden Sie unter Schnellstart: Konfigurieren einer Azure-VM für das Herstellen einer Verbindung mit Azure SQL Managed Instance.

Wenn sich Ihre SQL Server auf Azure Virtual Machines-Instanz in einem anderen virtuellen Netzwerk befindet als Ihre verwaltete Instanz, müssen Sie eine Verbindung zwischen beiden virtuellen Netzwerken herstellen. Die virtuelle Netzwerke müssen für dieses Szenario nicht demselben Abonnement angehören.

Es gibt zwei Optionen zum Verbinden virtueller Netzwerke:

Dabei ist Peering vorzuziehen, da dabei das Microsoft-Backbonenetzwerk verwendet wird, sodass es im Hinblick auf die Konnektivität keinen spürbaren Unterschied bei der Latenz zwischen virtuellen Computern im Peering-VNET und im selben VNET gibt. Das Peering virtueller Netzwerke wird zwischen Netzwerken in der gleichen Region unterstützt. Das globale Peering virtueller Netzwerke wird für Instanzen unterstützt, die in Subnetzen gehostet werden, die ab dem 22. September 2020 erstellt wurden. Weitere Informationen finden Sie unter Häufig gestellte Fragen (FAQ).

SQL Server außerhalb von Azure

Wenn Ihre SQL Server-Instanz außerhalb von Azure gehostet wird, stellen Sie mithilfe einer der folgenden Optionen eine VPN-Verbindung zwischen SQL Server und SQL Managed Instance her:

Tipp

Wir empfehlen ExpressRoute, um beim Replizieren von Daten die bestmögliche Netzwerkleistung zu erzielen. Stellen Sie ein Gateway mit genügend Bandbreite für Ihren Anwendungsfall bereit.

Netzwerkports zwischen den Umgebungen

Unabhängig vom Mechanismus der Netzwerkkonnektivität müssen bestimmte Anforderungen erfüllt sein, damit der Datenverkehr zwischen den Umgebungen fließen kann:

Die Regeln der Netzwerksicherheitsgruppe (NSG) in dem Subnetz, das die verwaltete Instanz hostet, müssen zugelassen werden:

  • Eingehender Port 5022 und Portbereich 11000–11999 zum Empfangen von Datenverkehr von der SQL Server-Quell-IP-Adresse
  • Ausgehender Port 5022 zum Senden von Datenverkehr an die SQL Server-Ziel-IP-Adresse

Alle Firewalls des Netzwerks, in dem SQL Server gehostet wird, und des Hostbetriebssystems müssen Folgendes zulassen:

  • Offener eingehender Port 5022 zum Empfang von Datenverkehr aus dem Quell-IP-Adressbereich des /24-Subnetzes der verwalteten Instanz (z. B. 10.0.0.0/24)
  • Offener ausgehender Port 5022 und Portbereich 11000–11999 zum Senden von Datenverkehr an den Ziel-IP-Adressbereich des Subnetzes der verwalteten Instanz (z. B. 10.0.0.0/24)

Diagram showing network requirements to set up the link between SQL Server and managed instance.

In der folgenden Tabelle werden Portaktionen für die einzelnen Umgebungen beschrieben:

Environment Aktion
SQL Server (in Azure) Öffnen Sie für die Netzwerkfirewall sowohl eingehenden als auch ausgehenden Datenverkehr am Port 5022 für den gesamten IP-Adressbereich des Subnetzes von SQL Managed Instance. Führen Sie diesen Schritt bei Bedarf auch für die Firewall des SQL Server-Hostbetriebssystems (Windows/Linux) aus. Um die Kommunikation über Port 5022 zu ermöglichen, erstellen Sie eine NSG-Regel (Network Security Group) in dem virtuellen Netzwerk, in dem die VM gehostet wird.
SQL Server (außerhalb von Azure) Öffnen Sie für die Netzwerkfirewall sowohl eingehenden als auch ausgehenden Datenverkehr am Port 5022 für den gesamten IP-Adressbereich des Subnetzes von SQL Managed Instance. Führen Sie diesen Schritt bei Bedarf auch für die Firewall des SQL Server-Hostbetriebssystems (Windows/Linux) aus.
Verwaltete SQL-Instanz Erstellen Sie eine NSG-Regel im Azure-Portal, um den ein- und ausgehenden Datenverkehr von der IP-Adresse und dem Netzwerk, das SQL Server hostet, an Port 5022 und im Portbereich 11000-11999 zuzulassen.

Verwenden Sie das folgende PowerShell-Skript auf dem Windows-Hostbetriebssystem der SQL Server-Instanz, um Ports in der Windows-Firewall zu öffnen:

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

Das folgende Diagramm zeigt ein Beispiel für eine lokale Netzwerkumgebung, das angibt, dass alle Firewalls in der Umgebung über offene Ports verfügen müssen, einschließlich der Firewall des Betriebssystems, auf dem SQL Server gehostet wird, sowie aller Unternehmensfirewalls und/oder Gateways:

Diagram showing network infrastructure to set up the link between SQL Server and managed instance.

Wichtig

  • Die Ports müssen in jeder Firewall in der Netzwerkumgebung geöffnet sein, einschließlich des Hostservers sowie aller Unternehmensfirewalls oder Gateways im Netzwerk. In Unternehmensumgebungen müssen Sie möglicherweise den Netzwerkadministrator*innen die Informationen in diesem Abschnitt zeigen, damit sie die zusätzlichen Ports auf Ebene des Unternehmensnetzwerks öffnen.
  • Sie können den Endpunkt zwar auf der SQL Server-Seite anpassen, die Portnummern für SQL Managed Instance können jedoch nicht geändert oder angepasst werden.
  • Die IP-Adressbereiche der Subnetze zum Hosten der verwalteten Instanz und von SQL Server dürfen sich nicht überschneiden.

Hinzufügen von URLs zur Zulassungsliste

Je nach Ihren Netzwerksicherheitseinstellungen kann es erforderlich sein, URLs für den SQL Managed Instance-FQDN und einige der Ressourcenverwaltungsendpunkte, die von Azure für Ihre Zulassungsliste verwendet werden, hinzuzufügen.

Im Folgenden werden die Ressourcen aufgeführt, die Ihrer Zulassungsliste hinzugefügt werden sollen:

  • Der Vollqualifizierter Domänenname (FQDN) der SQL Managed Instance z. B. managedinstance1.6d710bcf372b.database.windows.net.
  • Microsoft Entra-Autorität
  • Microsoft Entra Endpoint Resource ID
  • Resource Manager-Endpunkt
  • Dienstendpunkt

Führen Sie die Schritte im Abschnitt Konfigurieren von SSMS für Government Clouds aus, um auf die Tools-Schnittstelle in SQL Server Management Studio (SSMS) zuzugreifen und die spezifischen URLs für die Ressourcen in Ihrer Cloud zu identifizieren, die Sie ihrer Zulassungsliste hinzufügen müssen.

Netzwerkkonnektivität testen

Der Link funktioniert nur, wenn zwischen SQL Server und SQL Managed Instance eine bidirektionale Netzwerkverbindung besteht. Testen Sie die Verbindung, nachdem Sie auf der SQL Server-Seite Ports geöffnet und auf der SQL Managed Instance Seite eine NSG-Regel konfiguriert haben verwenden Sie entweder SQL Server Management Studio (SSMS) oder Transact-SQL. .

Führen Sie die folgenden Schritte aus, um die Netzwerkkonnektivität zwischen SQL Server und SQL Managed Instance in SSMS zu testen:

  1. Stellen Sie eine Verbindung mit der Instanz her, die das primäre Replikat in SSMS sein wird.

  2. Erweitern Sie in Objekt-Explorer Datenbanken, und klicken Sie mit der rechten Maustaste auf die Datenbank, die Sie mit der sekundären Datenbank verknüpfen möchten. Wählen Sie Aufgaben> in Azure SQL Managed Instance Link >Test Verbindung aus, um den Netzwerkprüfer-Assistenten zu öffnen:

    Screenshot of object explorer in S S M S, with test connection selected in the database link right-click menu.

  3. Wählen Sie Weiter auf der Seite Einführung des Network Assistenten.

  4. Wenn alle Anforderungen auf der Seite Voraussetzungen erfüllt sind, wählen Sie Weiter. Lösen Sie andernfalls alle nicht erfüllten Voraussetzungen auf, und wählen Sie dann Überprüfung erneut ausführen.

  5. Wählen Sie auf der Seite Anmeldung die Option Anmeldung, um eine Verbindung mit der anderen Instanz herzustellen, die das sekundäre Replikat ist. Wählen Sie Weiter aus.

  6. Überprüfen Sie die Details auf der Seite Netzwerkoptionen angeben, und geben Sie gegebenenfalls eine IP-Adresse an. Wählen Sie Weiter aus.

  7. Überprüfen Sie auf der Seite Zusammenfassung die Aktionen, die der Assistent ausführt, und wählen Sie dann Fertig stellen aus, um die Verbindung zwischen den beiden Replikaten zu testen.

  8. Überprüfen Sie die Seite Ergebnisse, um die Konnektivität zwischen den beiden Replikaten zu überprüfen, und wählen Sie dann Schließen.

Achtung

Fahren Sie mit den nächsten Schritten nur fort, wenn Sie sich vergewissert haben, dass die Netzwerkverbindung zwischen Ihrer Quell- und Zielumgebung funktioniert. Behandeln Sie andernfalls Probleme mit der Netzwerkverbindung, bevor Sie fortfahren.

Migrieren eines Zertifikats einer durch TDE geschützten Datenbank (optional)

Wenn Sie eine durch Transparent Data Encryption (TDE) geschützte SQL Server-Datenbank mit einer verwalteten Instanz verknüpfen, muss das entsprechende Verschlüsselungszertifikat von der lokalen SQL Server-Instanz bzw. von der SQL Server-Instanz auf dem virtuellen Azure-Computer vor der Verwendung des Links zur verwalteten Instanz migriert werden. Detaillierte Schritte finden Sie unter „Migrieren des Zertifikats einer durch TDE geschützten Datenbank zu einer Azure SQL Managed Instance

SQL Managed Instance Datenbanken, die mit dienstseitig verwalteten TDE-Schlüsseln verschlüsselt sind, können nicht in SQL Server wiederhergestellt werden. Sie können eine verschlüsselte Datenbank nur dann mit dem SQL Server verknüpfen, wenn sie mit einem kundenseitig verwalteten Schlüssel verschlüsselt wurde und der Zielserver Zugriff auf denselben Schlüssel hat, der zum Verschlüsseln der Datenbank verwendet wurde. Weitere Informationen finden Sie unter Einrichten SQL Server-TDE mit Azure Key Vault.

Installieren von SSMS

SQL Server Management Studio (SSMS) ist die einfachste Möglichkeit, um den Managed Instance-Link zu verwenden. Laden Sie die SSMS-Version 19.0 oder höher herunter, und installieren Sie sie auf Ihrem Clientcomputer.

Öffnen Sie SSMS nach Abschluss der Installation, und stellen Sie eine Verbindung mit Ihrer unterstützten SQL Server-Instanz her. Klicken Sie mit der rechten Maustaste auf eine Benutzerdatenbank, und vergewissern Sie sich, dass im Menü die Option Azure SQL Managed Instance link (Link für Azure SQL Managed Instance) angezeigt wird.

Screenshot that shows the Azure SQL Managed Instance link option on the context menu.

Konfigurieren von SSMS für die Cloud für Regierungsbehörden

Wenn Sie Ihre SQL Managed Instance-Instanz in einer Cloud für Regierungsbehörden bereitstellen möchten, müssen Sie Ihre SQL Server Management Studio-Einstellungen (SSMS) ändern, um die richtige Cloud zu verwenden. Wenn Sie Ihre SQL Managed Instance-Instanz nicht in einer Cloud für Regierungsbehörden bereitstellen, überspringen Sie diesen Schritt.

Führen Sie die folgenden Schritte aus, um Ihre SSMS-Einstellungen zu aktualisieren:

  1. Öffnen Sie SSMS.
  2. Wählen Sie im Menü Extras und dann Optionen aus.
  3. Erweitern Sie Azure-Dienste, und wählen Sie Azure Cloud aus.
  4. Verwenden Sie unter Azure-Cloud auswählen die Dropdownliste, um AzureUSGovernment oder eine andere Cloud für Regierungsbehörden auszuwählen, z. B. AzureChinaCloud:

Screenshot of SSMS UI, options page, Azure services, with Azure cloud highlighted.

Wenn Sie zur öffentlichen Cloud zurückkehren möchten, wählen Sie im Dropdownmenü AzureCloud aus.