Migration einer SQL-Datenbank nach Azure

In der Arbeit mit SQL Datenbanken wird Ihnen früher oder später der Clouddienst Azure über den Weg gelaufen sein. Lokale Datenbanken werden auf physischen Servern mit SQL betrieben, während Azure mit virtuellen Maschinen über das Internet in der Cloud arbeitet. Um teure und pflegeintensive Hardwarekosten einzusparen, wechseln viele Datenbankadministratoren von lokalen Anwendungen zu Cloud-basierten Anwendungen wie Azure. Neben Modernität und Transformation, unterstützen Cloudanwendungen Ihre IT-Infrastruktur flexibel und agil. Wenn Sie an diesem Punkt ebenfalls angekommen sind, zeigen wir Ihnen gerne in den folgenden Abschnitten, wie Sie eine lokale SQL-Server-Datenbank nach Azure SQL migrieren können.

Digitale Transformation und Chancen in der Cloud

Digitale Transformation und generell Digitalisierung werden aktuell sehr intensiv umgesetzt und von vielen IT-lern gelebt. Und nicht nur starre, bürokratische Prozesse werden derzeit digitalisiert – auch technische Vorgänge werden überarbeitet und ausgelagert in modernere und agilere Technologien. Abhängigkeiten von Legacies und physischer Hardware sind nicht mehr zeitgemäß und verursachen einen hohen Ressourcenverbrauch. Beispielsweise ist es Gang und Gebe, dass Microsoft den Support von veralteten Technologien einstellt. Somit stehen viele Unternehmen vor großen Hindernissen in Bezug auf Sicherheit, Kosten, Innovation und gesetzlicher Vorschriften, wenn sie nicht ihre Systeme auf aktuelle Versionen bringen. Doch hier liegt die Chance, den Kreislauf zu unterbrechen. Unternehmen haben hier die Option auf neue, moderne und innovative Systeme wie Cloud zu setzen und nicht weiter in Abhängigkeit veralteter Systeme zu verfallen. Ein erster Schritt in die richtige Richtung ist die Migration der lokalen Bestände in Azure SQL. Dabei ist der Aufwand deutlich geringer, als beispielsweise mühselig einzelne VMs zu erstellen oder über Windows Server SQL Server installieren. Die einzige Voraussetzung zur Durchführung der Migration ist ein Konto bei Microsoft Azure. Über das dortige Portal können Sie anschließend jegliche Konfiguration vornehmen, die Ihren Anforderungen entspricht.

Zu Beginn überprüfen wir die Kompatibilität der lokalen Datenbanken mit dem Azure Clouddienst.

Hier gibt es zwei Optionen, die Sie durchführen können:

  1. Erstellen einer BACPAC-Datei:
    Wenn Sie eine BACPAC-Datei aus Ihrer Datenbank erstellen können, kann diese Datenbank auch in die Azure SQL Umgebung migriert werden.
  2. Verwenden Sie ein Skript:
    Generieren Sie ein Schema der lokalen Datenbanken und erstellen Sie dasselbe in der Azure SQL-Umgebung.

Migrationsmöglichkeiten

Die Migration Ihrer lokalen SQL Datenbank nach Azure kann über verschiedene Methoden durchgeführt. Einige zeigen wir Ihnen nachfolgend auf. Prüfen Sie jedoch unbedingt vorher, welche der Methoden passend Ihrer Anforderungen ist. Nur so können Sie eine erfolgreiche Migration garantieren.

  1. BACPAC-Dateien erstellen, exportieren und in Azure SQL importieren
  2. Verwenden Sie SSMSM (SQL Server Management Studio) und generieren ein Skript zum Verwenden und Importieren/Exportieren von Daten.
  3. Verwenden Sie den Datenmigrations-Assistenten
  4. Nutzen Sie die Transaktionsreplikation, um die Daten in die Cloud zu übertragen
  5. Verwenden Sie PowerShell und SQLPackage.exe

→ Wir gehen nun nachfolgend auf die 1. Methode (BACPAC-Dateien erstellen, exportieren und in Azure SQL importieren) ein.

BACPAC-Dateien in SSMS erstellen

Bevor wir starten, sollten Sie sicherstellen, dass Sie über die neuste Version des SQL Server Management Studios verfügen.

01.
Öffnen Sie SSMS und stellen Sie im Objekt-Explorer eine Verbindung zur Quelldatenbank her. Wir verwenden als Quelldatenbank die AdventureWorks2016.

02.
Gehen Sie mit einem Rechtsklick auf die Quelldatenbank AdventureWorks2016 und klicken Sie auf Aufgaben / Tasks → Export Data-Tier Application.

03.
Sie befinden sich nun im Exportassistenten. Klicken Sie auf die Seite mit den Standardeinstellungen zu überspringen.

04.
In den Exporteinstellungen konfigurieren Sie nun den Export der BACPAC Datei. Wählen Sie entweder den Speicherort „lokale Festplatte“ oder alternativ „Azure Blob Speicher“.

05.
Folgen Sie den Standardeinstellungen

06.
Klicken Sie nun auf die Registerkarte Advanced und deaktivieren Sie die Auswahl alle auswählen, um den Export vorerst zu verhindern. In diesem Schritt testen wir zunächst die Kompatibilität.

07.
Wählen Sie in Azure speichern, um die BACPAC-Datei im Azure Blob Storage zu speichern.

08.
Wechseln Sie als Nächstes in das Azure Portal, um die Speicherkontendetails abzurufen. Für diese Übung haben wir das Speicherkonto dbmigratestg erstellt.

09.
Wählen Sie das Speicherkonto aus und kopieren den Zugriffsschlüssel in die Zwischenablage.

10.
Wechseln Sie in SSMS und fügen den Zugriffsschlüssel ein. Klicken Sie anschließend auf verbinden.

11.
Sie sollten nun auf das Azure Blob Storage zugreifen können.

12.
Klicken Sie auf den Bereich Advanced und wählen alle Objekte aus, die migriert werden sollen.

13.
Im nächsten Feld erwartet Sie die Zusammenfassung Ihrer Auswahl. Prüfen Sie diese und bestätigen Sie mit finish den Migrationsvorgang, sofern alles Ihren Anforderungen entspricht.

14.
Der Exportassistent führt nun die Kompatibilitätsprüfung der Datenbank aus. Wenn Probleme gefunden werden, werden sie in der Zusammenfassung der Prüfung dargestellt.

15.
Wenn keine Fehler auftreten, ist die Datenbank kompatibel und kann migriert werden. Wenn Fehler auftreten, müssen Sie diese beheben, bevor Sie fortfahren. Um die Fehler anzuzeigen, klicken Sie auf Fehler.

Die Vorbereitungsphase für die Migration der lokalen SQL Server-Datenbank in eine Azure SQL-Datenbank ist mit diesem Schritt beendet.

Import der BACPAC-Datei in Azure SQL

Nachdem wir nun im vorherigen Schritt die BACPAC-Datei erstellt haben, muss sie im folgenden Schritt in Azure SQL importiert werden.

01.
Öffnen Sie das Azure Portal und öffnen die SQL-Datenbankseite.

02.
Erstellen Sie in der Ressourcengruppe eine neue Instanz in einer Azure Datenbank.

03.
Wählen Sie als nächstes Datenbank importieren aus.

04.
Suchen Sie im nächsten Schritt das eben erstelle Azure Blob Storage und den entsprechenden Container der BACPAC-Datei.

05.
Geben Sie den neuen Datenbanknamen, die Größe und die SQL-Administrator-Anmeldeinformationen ein.

06.
Wenn Sie mit ok bestätigen, wird der Importvorgang der BACPAC-Datei in die neue Azure SQL Datenbank gestartet.

Sobald der Prozess abgeschlossen ist, sollte Ihre lokale Datenbank in die Azure SQL Umgebung migriert worden sein. Besitzen Sie weitere Datenbanken, können Sie anhand der Anleitung vorgehen und beliebig viele Datenbanken entsprechend migrieren und somit den Startschuss für die digitale Transformation Ihres Unternehmens starten.