Managed Instance Links (“MI-Links”) stellen ein Mittel dar, mit dem man seine SQL–Server Instanz mit einer Azure Managed Instanz verbinden kann. Bei der Einrichtung eines solchen Links sind einige Schritte durchzuführen und einige Voraussetzungen zu betrachten. Ein solcher Link kann eingesetzt werden, um
In diesem Dokument stellen wir die Schritte vor, die zur Vorbereitung der Umgebung und zum Erstellen eines MI-Links erforderlich sind, der eine Datenreplikation nahezu in Echtzeit zwischen SQL–Server und Azure SQL Managed Instance mithilfe von verteilten Verfügbarkeitsgruppen ermöglicht.
Managed Instance Link Setup Skript Paket welches hier heruntergeladen werden kann.
Administratorzugriff auf beide Instanzen mithilfe des T–SQL-Endpunkts.
Zertifikatbasierte Authentifizierung mit Austauschen der öffentlichen Schlüssel beider Instanzen
Sichere Konnektivität (VPN) zwischen dem lokalen Netzwerk und Azure. Zwischen den beiden Instanzen muss eine Site-to-Site-Konnektivität erstellt werden (ein MI-Link kann nur über private Konnektivität hergestellt werden). Folgende Ports auf der Netzwerksicherheitsgruppe (NSG) im Azure SQL Managed Instance-Subnetz müssen freigeschaltet werden:
Power Shell Zugriff auf die Managed Azure Instanz, wobei mindestens Version 3.9.0 benötigt wird
PS > Install-Module -Name Az.Sql
PS > Install-Module -Name Az.Accounts
PS > Install-Module -Name SqlServer -RequiredVersion 21.1.18256
Trace-Flags (empfohlen):
T9567: aktiviert die Komprimierung des Datastreams für Verfügbarkeitsgruppen während des automatischen Seedings. Die Komprimierung erhöht die Belastung der CPU, kann aber die Übertragungszeiten während des Seedings erheblich verkürzen. Um das Flag einzustellen muss man den SQL Server Configuration Manager starten, SQL–Server Services auswählen und auf den SQL–Server mit Rechtsklick Properties auswählen
Obwohl der Managed Instanz Link sehr hilfreich ist, existieren Einschränkungen die ein Setup verhindern könnten. MI-Links unterstützen zur Zeit keine:
Eine vollständige Liste der Einschränkungen befindet sich in der hier verlinkten Microsoft Dokumentation.
Dieses Modul automatisiert die Erstellung eines Managed Instance Links. Es prüft und erstellt die lokale Instanz für die Integration in eine verteilte Verfügbarkeitsgruppe (zwischen lokaler Instanz und Azure SQL Managed Instanz).
Wenn die lokale Instanz schon Teil einer Verfügbarkeitsgruppe ist, werden alle beteiligten Instanzen mit geprüft.
Zur Vorbereitung und Validierung brauchen wir jeweils das gleiche cmdlet, nämlich ValidateAndPrepareMiLinkSetup.
Ausführungsberechtigung erteilen
PS > Set-ExecutionPolicy Unrestricted -Scope Process
Modul Import (vgl. Download Link im Kapitel "Anforderungen")
PS > Import-Module 'C:\{pathtoscript}\MiLinkSetup.ps1'
Ausführung des Cmdlets
PS > ValidateAndPrepareMiLinkSetup -SqlInstance localhost -ManagedInstanceName azsql4mng01
Das cmdlet führt 11 Schritte aus:
Damit sind die Prüfungsschritte abgeschlossen:
Zur Erstellung des Links zwischen den beiden Instanzen wird das CreateMiLink cmdlet benutzt. Es prüft, ob die Instanzen in einem Link zwischen lokaler und Managed Instanz benutzt werden können. Wenn alles den Anforderungen entspricht, wird ein Link erstellt und die lokale Datenbank in die Managed Instanz synchronisiert.
Wichtig! Wenn die Datenbank Teil einer Always On Gruppe ist, darf nur eine Datenbank in der Gruppe sein, andernfalls erscheint die folgende Fehlermeldung:
Ausführungberechtigung korrigieren falls nötig
PS > Set-ExecutionPolicy Unrestricted -Scope Process
Modul Import
PS > Import-Module 'C:\{pathtoscript}\MiLinkSetup.ps1'
Die Ausführung des cmdlets kann mit mehreren Parametern je nach Bedarf ausgeführt werden. Hier ein paar Beispiele:
Der Standard Befehl, lediglich mit den Pflichtparametern für
lautet dann:
PS > CreateMiLink -SqlInstance localhost -ManagedInstanceName azsql4mng01 -DatabaseNameList "AdventureWorks2019"
Der folgende Befehl validiert die DB und wenn kein Full Backup existiert, wird dieses vor der Erstellung des Links erstellt.
PS > CreateMiLink -SqlInstance localhost -ManagedInstanceName azsql4mng01 -DatabaseNameList "AdventureWorks2019" -BackupPathLocation "E:\BACKUP"
Der folgende Aufruf validiert alle Datenbanken und synchronisiert die Datenbanken unter Verwendung einer Parallelität von zwei:
PS > CreateMiLink -SqlInstance localhost -ManagedInstanceName azsql4mng01 -DatabaseNameList "*" -ParallelSeededDatabaseCount 2
Das cmdlet CreateMiLink führt 8 Schritte aus:
Der Managed Instanz Link zwischen der lokalen Datenbank und Azure SQL Managed Instance ist damit erstellt und in Betrieb genommen und dadurch die Migrationen einer lokalen auf eine Managed Instanz ohne Ausfall ermöglicht worden.
Sollten Sie Fragen zu diesem Artikel oder Probleme mit bei der Migration haben, stehen wir Ihnen gerne zur Verfügung. Nutzen Sie dafür unverbindlich unser Kontaktformular.
Kontaktieren Sie uns gerne über das
Kontaktformular und vereinbaren ein unverbindliches
Beratungsgespräch mit unseren Berater:innen zur
Bedarfsevaluierung. Gemeinsam optimieren wir Ihre
Umgebung und steigern Ihre Performance!
Wir freuen uns auf Ihre Kontaktaufnahme!