Verschieben in Azure SQL-Datenbank

Abgeschlossen

Es gibt zwar Methoden zum Migrieren eines gesamten Schemas und seiner Daten, in manchen Fällen wird allerdings nur eine Teilmenge der Datenbank benötigt. Glücklicherweise unterstützen viele der Methoden, die wir gesehen haben, eine teilweise Datenmigration, und wir lernen noch einige weitere kennen.

Nehmen wir im Szenario mit dem Fahrradhersteller an, dass das Unternehmen über eine lokale SQL Server-Datenbank verfügt, die Umsatz-, Kunden- und Produktdaten aus mehreren Jahren enthält. Das Unternehmen möchte zu einer Azure SQL-Datenbank migrieren, um die Skalierbarkeit und Flexibilität der Cloud zu nutzen. Es müssen jedoch nur die Kunden- und Produkttabellen migriert werden, da die Umsatzdaten aus Sicherheitsgründen lokal gespeichert bleiben sollen.

SQL-Datensynchronisierung

Mit der Datensynchronisierungsfunktion können Sie Daten inkrementell über mehrere Datenbanken hinweg synchronisieren, die in Azure SQL-Datenbank oder einer lokalen SQL Server-Instanz ausgeführt werden. Sie können die Datensynchronisierung auch verwenden, um Ihre Quell- und Zieldatenbanken nach Migrationen synchron zu halten. Bei der Datensynchronisierung werden Änderungen mithilfe von Auslösern für Einfügen, Aktualisieren und Löschen nachverfolgt. Die Änderungen werden in der Benutzerdatenbank in einer Nebentabelle aufgezeichnet.

Aufgrund seiner Fähigkeit, Daten in beide Richtungen zu synchronisieren, ist dieses Feature eine gute Wahl für Hybridanwendungen. Dies ist besonders attraktiv für Kunden, die einen Wechsel in die Cloud erwägen, da sie hiermit einige ihrer Anwendungen schnell auf Azure umstellen können.

Diagram showing the SQL Data Sync architecture.

Die Datensynchronisierung basiert auf einer Hubtopologie, in der Sie eine der Datenbanken in der Synchronisierungsgruppe als Hubdatenbank definieren. Die Synchronisierungsgruppe kann mehrere Mitglieder haben, und Sie können nur Änderungen zwischen der Hubdatenbank und einzelnen Datenbanken synchronisieren. Die Datensynchronisierung verfolgt Änderungen mithilfe von INSERT-, UPDATE- und DELETE-Triggern über eine Verlaufstabelle nach, die für die Benutzerdatenbank erstellt wird.

Im Vergleich zur Transaktionsreplikation, die eine geringere Latenz aufweist, ist ein Nachteil der Datensynchronisierung die stärkere Auswirkung auf die Leistung. Dies bedeutet, dass Änderungen an einer Datenbank bei Verwendung der Datensynchronisierung mehr Ressourcen erfordern.

Wenn Sie eine Synchronisierungsgruppe erstellen, werden Sie dazu aufgefordert, eine Datenbank zum Speichern der Metadaten der Synchronisierungsgruppe anzugeben. Der Metadatenspeicherort kann entweder eine neue Datenbank oder eine vorhandene Datenbank sein, solange diese sich in derselben Region wie Ihre Synchronisierungsgruppe befindet.

Screenshot showing the new sync group page from Azure portal.

Sie können Eigenschaften der Synchronisierungsgruppe wie die Zeitplansynchronisierung, die Konfliktlösungsoption und die Verwendung einer privaten Verbindung angeben, wenn erforderlich.

Weitere Informationen zum Konfigurieren von SQL-Datensynchronisierung finden Sie unter Tutorial: Einrichten von SQL-Datensynchronisierung zwischen Datenbanken in Azure SQL-Datenbank und SQL Server.

Massenkopieren

Das bcp-Hilfsprogramm ermöglicht den Massenexport von Daten aus einer SQL Server-Tabelle in eine Datendatei und umgekehrt. Das Hilfsprogramm ist vielseitig und ermöglicht die Datenübertragung zwischen SQL Server und anderen Programmen oder Datenbanken.

Zur effektiven Verwendung des bcp-Befehls ist ein Verständnis des Schemas und der Datentypen der Tabelle unerlässlich, es sei denn, eine bereits vorhandene Formatdatei ist verfügbar.

Azure Data Factory

Mit Azure Data Factory können Sie Daten anstelle einer gesamten Datenbank migrieren. Azure Data Factory kann Daten aus SQL Server-Quelldatenbanken migrieren und transformieren und wird häufig für Business Intelligence-Workloads (BI) verwendet.