Verschieben von Daten in die verwaltete SQL-Instanz
Viele Migrationen umfassen einen Zeitraum, in dem die lokale und die Clouddatenbank synchronisiert werden müssen. Es kann z. B. eine Zeit geben, in der Clients Änderungen an beiden Datenbanken vornehmen.
Sie haben die Datenbank für Sporteinzelprodukte in die von Azure SQL verwaltete Instanz migriert. Die Website verwendet bereits die Clouddatenbank. Sie beginnen mit der Neukonfiguration von Clients für die Verwendung der neuen Datenbank. Sie haben beschlossen, Benutzer in Batches auf das neue System umzusteigen. Für jedes Team benötigen Sie Zeit, um Probleme zu beheben, bevor Sie die nächsten Benutzer migrieren. Dieser Ansatz ermöglicht die Problembehandlung und Problembehebung, ohne alle Benutzer gleichzeitig zu unterbrechen. Als Nächstes konfigurieren Sie das Datenanalysesystem neu, um die neue Datenbank in Azure zu verwenden. Während dieser Zeit möchten Sie sicherstellen, dass die Cloud- und lokalen Datenbanken alle Stunde synchronisiert werden.
Sie werden verschiedene Methoden für die Implementierung der Datensynchronisierung untersuchen. Diese Methoden können auch verwendet werden, um Daten selektiv zu migrieren, sollten Sie nur eine Teilmenge der Tabellen übertragen müssen. Diese Flexibilität ermöglicht einen maßgeschneiderteren Ansatz für die Datenmigration.
Konnektivitätsoptionen mit lokalen Servern
Häufig möchten Sie Daten in lokalen Datenbanken mit azure SQL Managed Instance synchronisieren. Sie können beispielsweise die Migration von Clientanwendungen in die neue Datenbank bereitstellen, was bedeutet, dass es einen Zeitraum gibt, in dem Clients eine Verbindung mit beiden Datenbanken herstellen.
Bevor Sie eine Datensynchronisierungsmethode auswählen, ist es wichtig, sicherzustellen, dass Sie über eine sichere Verbindung verfügen. Es stehen drei verschiedene Konnektivitätsoptionen zur Verfügung, um die Kommunikation zwischen Computern lokal und Ressourcen in Azure herzustellen.
- Point-to-Site. Mit einer Point-to-Site(P2S)-VPN-Gatewayverbindung können Sie eine sichere Verbindung mit Ihrem virtuellen Netzwerk von einem einzelnen Clientcomputer aus herstellen.
- Site-to-Site. Ein Standort-zu-Standort-VPN-Gateway wird verwendet, um einen gesamten lokalen Standort mit dem Azure-Netzwerk zu verbinden.
- ExpressRoute. Mit Azure ExpressRoute können Sie private Verbindungen zwischen Azure-Rechenzentren und lokaler Infrastruktur oder Infrastruktur in einer Colocation-Umgebung erstellen. ExpressRoute-Verbindungen gehen nicht über das öffentliche Internet hinaus und bieten mehr Zuverlässigkeit, schnellere Geschwindigkeiten, niedrigere Latenzen und höhere Sicherheit als typische Internetverbindungen.
Öffentlicher Endpunkt
Der öffentliche Endpunkt für die verwaltete SQL-Instanz hilft Ihnen, eine Verbindung mit der Datenbank über das Internet herzustellen, ohne ein VPN zu verwenden, und ist nur für die Datenkommunikation konzipiert. Öffentlicher Endpunkt für Daten kann gleichzeitig mit dem privaten Endpunkt koexistieren. Aus Sicherheitsgründen ermöglicht die Implementierung die Trennung von Aufgaben (SoD) zwischen einem Datenbankadministrator und einem Netzwerkadministrator, wenn der öffentliche Endpunkt aktiviert wird.
Zum Aktivieren des öffentlichen Endpunkts für verwaltete Instanzen sind zwei Schritte erforderlich. Für SoD benötigen Sie zwei separate Rollen mit den folgenden Datenbank- und Netzwerkberechtigungen, um die folgenden Schritte auszuführen:
- Ein Datenbankadministrator, der über rollenbasierte Zugriffssteuerungsberechtigungen im Bereich "Microsoft.Sql/managedInstances/*" verfügt, muss ein PowerShell-Skript ausführen, um öffentliche Endpunkte für verwaltete Instanzen zu aktivieren.
- Ein Netzwerkadministrator, der über rollenbasierte Zugriffssteuerungsberechtigungen im Bereich "Microsoft.Network/*" verfügt, muss den port 3342 öffnen, der vom öffentlichen Endpunkt in der Netzwerksicherheitsgruppe (Network Security Group, NSG) verwendet wird, und eine UDR-Route bereitstellen, um asymmetrisches Routing zu vermeiden.
Auswählen einer Synchronisierungsmethode
Sie können viele Methoden verwenden, um Daten aus einer verwalteten SQL-Datenbankinstanz mit einem lokalen Server und zurück zu synchronisieren.
Systemeigene Sicherung und Wiederherstellung
Sie können eine Datenbank in Azure SQL Managed Instance aus einer Azure Blob Storage-Datei mithilfe der Freigabeberechtigung (Shared Access Signature, SAS) wiederherstellen.
Dazu gehört das Erstellen einer Berechtigung mit Zugriff auf Azure Blob Storage und anschließend den BACKUP DATABASE Befehl mit der COPY_ONLY Option verwenden. Wenn Ihre Datenbank größer als 200 GB ist, können Sie eine gestreifte Sicherung verwenden, indem Sie mehrere URL-Speicherorte bereitstellen.
BACKUP DATABASE YourDatabase TO URL = 'https://youraccount.blob.core.windows.net/yourcontainer/yourdatabase.bak' WITH COPY_ONLY
So stellen Sie die Datenbank in der verwalteten SQL-Instanz wieder her:
RESTORE DATABASE YourDatabase FROM URL = 'https://youraccount.blob.core.windows.net/yourcontainer/yourdatabase.bak'
BACPAC-Datei mit SqlPackage
Eine BACPAC-Datei ist im Wesentlichen eine komprimierte Version der Metadaten und Daten Ihrer Datenbank. Obwohl diese Bereitstellungsmethode mit SQL-Datenbank kompatibel ist, unterstützt die verwaltete SQL-Instanz die Migration über BACPAC im Azure-Portal nicht. Alternativ sollte das SQLPackage-Hilfsprogramm mit der BACPAC-Datei verwendet werden.
Bulk Copy Program (BCP)
Das BCP-Hilfsprogramm ist ein Befehlszeilentool, mit dem Tabellen in Dateien exportiert werden, damit Sie sie importieren können. Verwenden Sie diesen Ansatz, um von einer einzelnen SQL-Datenbank zur verwalteten SQL-Instanz und zurück zu migrieren.
Azure Data Factory (ADF)
Azure Data Factory ist ausgelegt für Datenbewegungen und -orchestrierung, mit dem Fokus auf der Eingliederung. ADF bietet Unterstützung für die Integrationslaufzeit, um SSIS-Pakete auszuführen, sowie die öffentliche Internetunterstützung für SQL Managed Instance.
Transaktionsreplikation
Die Transaktionsreplikation ist eine Möglichkeit zum Verschieben von Daten zwischen fortlaufend verbundenen Datenbankservern.
Der Prozess beginnt mit einer Momentaufnahme der Publikationsdatenbankobjekte und -daten. Sobald die anfängliche Momentaufnahme erstellt wurde, werden alle nachfolgenden Änderungen an den Daten oder Schemas im Publisher in der Regel in nahezu Echtzeit an azure SQL Managed Instance übermittelt, sobald sie auftreten.
Die verwaltete SQL-Instanz ist flexibel, da sie ein Herausgeber, Verteiler und Abonnent sein kann.
Replikation ist eine der wenigen Technologien, mit denen Sie Teile einer Tabelle replizieren können. Wir beziehen uns auf diese Tabellenteile als Artikel. Diese Daten werden dann an einen Händler gesendet, bei dem es sich um einen Lieferanten der Daten an eine beliebige Anzahl von Abonnenten handelt.
Anforderungen
- Für die Verbindung zwischen den Teilnehmern der Replikation wird SQL-Authentifizierung verwendet.
- Ein Azure-Speicherkonto für das von der Replikation verwendete Arbeitsverzeichnis.
- Öffnen Sie Port 445 (TCP ausgehend) in den Sicherheitsregeln des verwalteten Instanzsubnetzes, um auf die Azure-Dateifreigabe zuzugreifen.
- Öffnen Sie Port 1433 (TCP ausgehend), wenn sich der Herausgeber oder Verteiler in einer verwalteten Instanz befindet und der Abonnent lokal ist.
Verbinden von Anwendungen mit einer von SQL verwalteten Instanz
Eine verwaltete SQL-Instanz muss in einem virtuellen Azure-Netzwerk-Subnetz platziert werden, das für verwaltete Instanzen vorgesehen ist. Diese Bereitstellung bietet Ihnen eine sichere private IP-Adresse und die Möglichkeit, eine Verbindung mit lokalen Netzwerken herzustellen.
Benutzer und Clientanwendungen können über das Azure-Portal, PowerShell, Azure CLI und die REST-API eine Verbindung mit der verwalteten Instanzdatenbank herstellen.
Alle Kommunikationen werden mit Zertifikaten verschlüsselt und signiert. Um die Vertrauenswürdigkeit der Kommunikation von Parteien zu überprüfen, überprüfen verwaltete Instanzen diese Zertifikate ständig über Zertifikatsperrlisten. Wenn die Zertifikate widerrufen werden, schließt die sql-verwaltete Instanz die Verbindungen zum Schutz der Daten.