Freigeben über


Migrationsübersicht: SQL Server zu Azure SQL-Datenbank

Gilt für: Azure SQL-Datenbank

Erfahren Sie mehr über die Optionen und Überlegungen zur Migration Ihrer SQL Server-Datenbanken auf Azure SQL Database.

Sie können vorhandene SQL Server-Datenbanken migrieren, die auf folgenden Plattformen ausgeführt werden:

  • SQL Server auf virtuellen Computern
  • Amazon EC2 (Elastic Compute Cloud)
  • Amazon RDS (Relational Database Service) für SQL Server
  • Google Compute Engine
  • Cloud SQL für SQL Server – GCP (Google Cloud Platform)

Weitere Migrationsleitfäden finden Sie im Leitfaden zur Azure-Datenbankmigration.

Übersicht

Azure SQL-Datenbank ist eine empfohlene Zieloption für SQL Server-Arbeitsauslastungen, die eine vollständig verwaltete Platform-as-a-Service-Lösung (PaaS) erfordern. SQL-Datenbanken führen die meisten Funktionen des Datenbankmanagements durch. In sie ist Hochverfügbarkeit, Skalierbarbeit und Leistungsfunktionen für viele Anwendungstypen integriert.

In SQL-Datenbank sind zudem mehrere Bereitstellungsmodelle und Dienstebenen verfügbar, die für Flexibilität sorgen und für unterschiedliche Typen von Anwendungen oder Arbeitsauslastungen geeignet sind.

Einer der wichtigsten Vorteile der Migration in SQL-Datenbank besteht darin, dass Sie Ihre Anwendung mithilfe der PaaS-Funktionen modernisieren können. Sie können dann jede Abhängigkeit von technischen Komponenten eliminieren, die auf die Instanzebene beschränkt sind, wie z. b. SQL-Agentaufträge.

Sie können auch Kosten sparen, indem Sie den Azure-Hybridvorteil für SQL Server verwenden, um Ihre lokalen Lizenzen von SQL Server zu Azure SQL-Datenbank zu migrieren. Diese Option ist verfügbar, wenn Sie das v-Core-basierte Kaufmodell auswählen.

Überprüfen Sie die in Azure SQL-Datenbank verfügbaren Features der SQL Server-Datenbank-Engine, um die Unterstützungsfähigkeit Ihres Migrationsziels sicherzustellen.

Überlegungen

Dies sind die wichtigsten Faktoren, die Sie bei der Bewertung von Migrationsoptionen berücksichtigen sollten:

  • Anzahl der Server und Datenbanken
  • Größe der Datenbanken
  • Akzeptable Downtime für das Geschäft während des Migrationsprozesses

Die in diesem Leitfaden aufgeführten Migrationsoptionen berücksichtigen diese Faktoren. Bei der logischen Datenmigration zu Azure SQL-Datenbank kann die Migrationsdauer sowohl von der Anzahl der Objekte in einer Datenbank als auch von der Größe der Datenbank abhängen.

Für verschiedene Arbeitsauslastungen und Benutzereinstellungen stehen unterschiedliche Tools zur Verfügung. Mit einigen Tools kann eine schnelle Migration einer einzelnen Datenbank über ein benutzeroberflächenbasiertes Tool durchgeführt werden. Mit anderen Tools können Sie die Migration mehrerer Datenbanken automatisieren, um Migrationen im großen Stil durchzuführen.

Wählen Sie ein passendes Ziel aus

Bei der Auswahl des richtigen Bereitstellungsmodells und der richtigen Dienstebene für Azure SQL-Datenbank sollten Sie einige allgemeine Richtlinien berücksichtigen. Während der Bereitstellung können Sie Compute- und Speicherressourcen auswählen und anschließend über das anschließend über das Azure-Portal ändern, ohne dass es zu Downtime Ihrer Anwendung kommt.

Bereitstellungsmodelle: Sie sollten die Arbeitsauslastung und das Nutzungsmuster Ihrer Anwendung verstehen, um die Wahl zwischen einem Singleton und einem Pool für elastische Datenbanken zu treffen.

  • Bei einem Singleton handelt es sich um eine vollständig verwaltete Datenbank, die für die meisten modernen Cloudanwendungen und Microservices geeignet ist.
  • Ein Pool für elastische Datenbanken ist eine Sammlung von Singletons mit gemeinsam genutzten Ressourcen wie CPU oder Arbeitsspeicher. Er ist geeignet für die Zusammenfassung von Datenbanken in einem Pool mit vorhersehbaren Nutzungsmustern, die verschiedene Ressourcen effektiv gemeinsam nutzen.

Kaufmodelle: Wählen Sie zwischen dem virtuellen Kern, der Datenbanktransaktionseinheit (DTU) oder dem serverlosen Kaufmodell.

  • Mit dem vCore-basierten Modell können Sie die Anzahl von virtuellen Kernen für Ihre Instanz von Azure SQL-Datenbank selbst festlegen. Dies ist bei der Migration von einer lokalen SQL Server-Instanz die einfachste Option. Es ist außerdem die einzige Option, die Einsparungen bei den Lizenzkosten mit dem Azure-Hybridvorteil unterstützt.
  • Beim DTU-basierten Kaufmodell werden die zugrunde liegenden Compute-, Arbeitsspeicher- und Eingabe/Ausgaberessourcen für eine gemischte DTU abstrahiert.
  • Das serverlose Modell ist für Arbeitsauslastungen vorgesehen, die automatische bedarfsgesteuerte Skalierung mit Computeressourcen erfordern, die pro Nutzungssekunde abgerechnet werden. Im Tarif „Serverloses Computing“ werden Datenbanken während inaktiver Phasen (in denen nur Speicher in Rechnung gestellt wird) automatisch angehalten. Datenbanken werden automatisch fortgesetzt, wenn die Aktivität fortgesetzt wird.

Dienstebenen: Sie haben die Wahl zwischen drei Dienstebenen, die für verschiedene Anwendungstypen entwickelt wurden.

  • Die Dienstebene „Universell“/„Standard“ bietet eine ausgeglichene budgetorientierte Option mit Compute-und Speicherkapazitäten, die für die Bereitstellung von Anwendungen in der mittleren und niedrigeren Ebene geeignet ist. Redundanz ist auf der Speicherebene integriert und kann nach Fehlern wiederhergestellt werden. Sie eignet sich für die meisten Arbeitsauslastungen von Datenbanken.
  • Die Dienstebene „Unternehmenskritisch“/„Premium“ ist für Anwendungen auf hoher Ebene vorgesehen, die hohe Transaktionsraten, E/A mit niedriger Latenz und ein hohes Maß an Resilienz erfordern. Sekundäre Replikate sind für das Failover und das Auslagern von Lese-Arbeitsauslastungen verfügbar.
  • Die Dienstebene „Hyperscale“ ist für all jene Kunden geeignet, die eine höhere Leistung und Verfügbarkeit, eine schnelle Sicherung und Wiederherstellung und/oder eine schnelle Skalierbarkeit von Speicher und Compute benötigen. Hierzu zählen Kunden, die zur Modernisierung ihrer Anwendungen in die Cloud wechseln sowie Kunden, die bereits andere Dienstebenen in Azure SQL-Datenbank verwenden. Die Hyperscale-Dienstebene unterstützt eine breite Palette von Datenbankworkloads, von reinem OLTP bis hin zu reinen Analysen. Sie ist für OLTP- und Hybridtransaktions- und Analyseverarbeitungsworkloads (HTAP) optimiert.

Wichtig

Die Transaktionsprotokollrate wird in Azure SQL-Datenbank geregelt, um hohe Erfassungsraten zu drosseln. Daher kann es während der Migration notwendig sein, Zieldatenbankressourcen (vCores/DTUs) zu skalieren, um die Last auf die CPU oder den Durchsatz zu verringern. Wählen Sie die Zieldatenbank mit der passenden Größe aus, aber planen Sie ein, die Ressourcen für die Migration bei Bedarf zu skalieren.

Alternative für SQL Server-VMs

Ihr Unternehmen weist möglicherweise Anforderungen auf, die Azure Virtual Machines für SQL Server zu einem besseren Ziel als Azure SQL-Datenbank machen.

Wenn eine der folgenden Bedingungen für Ihr Unternehmen zutrifft, erwägen Sie, stattdessen zu einer SQL Server virtuellen Maschine (VM) zu wechseln:

  • Sie benötigen direkten Zugriff auf das Betriebs- oder Dateisystem, z. B. um Drittanbieter- oder benutzerdefinierte Agents auf der gleichen VM wie SQL Server zu installieren.
  • Wenn Sie unbedingt von Features abhängig sind, die noch nicht unterstützt werden, wie z. B. FileStream/FileTable, PolyBase und instanzübergreifende Transaktionen.
  • Wenn Sie unbedingt bei einer bestimmten Version von SQL Server (z. B. 2012) bleiben müssen.
  • Wenn Ihre Computeanforderungen wesentlich niedriger sind als bei einer verwalteten Instanz (z. B. ein virtueller Kern) und eine Datenbankkonsolidierung nicht in Frage kommt.

Migrationstools

Wir empfehlen die folgenden Migrationstools:

Technologie Beschreibung
Azure Migrate Dieser Azure-Dienst hilft Ihnen, Ihren SQL-Datenbestand auf VMware im Maßstab zu erkennen und zu bewerten. Er bietet Empfehlungen für die Azure SQL-Bereitstellung, Zielgrößen und monatliche Schätzungen.
Azure SQL-Migrationserweiterung für Azure Data Studio Die Azure SQL-Migrationserweiterung für Azure Data Studio unterstützt Sie über Azure Database Migration Service bei der Bewertung Ihrer Datenbankanforderungen, um Ihre Migrationsbereitschaft zu verstehen, die richtigen SKU-Empfehlungen für Azure-Ressourcen zu erhalten und Ihre SQL Server-Datenbank-Instanz zu Azure zu migrieren. Sie können einzelne Datenbanken oder Datenbanken im großen Stil mithilfe von PowerShell und der Azure CLI migrieren.

In der folgenden Tabelle werden alternative Migrationstools aufgeführt:

Technologie BESCHREIBUNG
Transaktionsreplikation Mit diesem Tool können Daten aus Tabellen der SQL Server-Quelldatenbank in Azure SQL-Datenbank repliziert werden, indem eine Migrationsoption vom Typ „Herausgeber/Abonnent“ angegeben und die Transaktionskonsistenz beibehalten wird. Inkrementelle Datenänderungen werden an Abonnenten weitergegeben, sobald sie auf den Verlegern auftreten.
Import/Export-Dienst/BACPAC Eine BACPAC-Datei ist eine Windows-Datei mit der Erweiterung „.bacpac“, die das Schema und die Daten einer Datenbank kapselt. BACPAC-Dateien können zum Exportieren von Daten aus einer SQL Server-Quelle und zum Importieren der Daten in Azure SQL-Datenbank verwendet werden. Eine BACPAC-Datei kann über das Azure-Portal in eine neue Azure SQL-Datenbank-Instanz importiert werden.

Für Skalierbarkeit und Leistung in großen Datenbanken oder bei einer großen Anzahl von Datenbanken sollten Sie das Befehlszeilen-Tool SqlPackage in Betracht ziehen, um Datenbanken zu exportieren und zu importieren.
Massenkopieren Mit dem Tool zum Massenkopieren werden Daten aus einer SQL Server-Instanz in eine Datendatei kopiert. Verwenden Sie das Tool zum Exportieren der Daten aus Ihrer Quelle und zum Importieren der Datendatei in die Zielinstanz von SQL-Datenbank.

Für Vorgänge mit hoher Geschwindigkeit bei Massenkopien zum Verschieben von Daten auf Azure SQL-Datenbank können Sie das intelligente Tool zum Massenkopieren verwenden, um die Übertragungsgeschwindigkeit zu maximieren, indem Sie parallele Kopieraufgaben nutzen.
Azure Data Factory Die Kopieraktivität in Azure Data Factory migriert Daten aus SQL Server-Quelldatenbanken mithilfe integrierter Connectors und einer Integration Runtime zu Azure SQL-Datenbank.

Data Factory unterstützt ein breites Spektrum von Konnektoren, um Daten von SQL Server-Quellen in Azure SQL-Datenbank zu verschieben.

Vergleich der Migrationsoptionen

Im Folgenden können Sie die Migrationsoptionen vergleichen, um die richtige Vorgehensweise für Ihre Geschäftsanforderungen zu wählen.

In der folgenden Tabelle werden die von uns empfohlenen Migrationsoptionen verglichen:

Migrationsoption Verwendung Überlegungen
Azure Migrate - Ermitteln und Bewerten einzelner Datenbanken oder von Datenbanken im großen Stil aus verschiedenen Umgebungen. – Alle Schritte vor der Migration wie Ermittlung, Bewertungen und richtige Dimensionierung lokaler Ressourcen sind für Infrastruktur, Daten und Anwendungen enthalten.
Azure SQL-Migrationserweiterung für Azure Data Studio – Migrieren von Singletons oder im großen Stil.
– Nur Offlinemodus.

Unterstützte Quellen:
– SQL Server (ab 2008), entweder lokal oder auf virtuellen Azure-Computern
– SQL Server auf Amazon EC2
– Amazon RDS für SQL Server
– SQL Server auf Google Compute Engine
– Migrationen im großen Stil können mit PowerShell und der Azure CLI automatisiert werden.
– Die Zeit bis zum Abschluss der Migration hängt von der Datenbankgröße und der Anzahl der Datenbankobjekte ab.
– Azure Data Studio ist erforderlich, wenn Sie PowerShell oder die Azure CLI nicht verwenden.

In der folgenden Tabelle werden die alternativen Migrationsoptionen verglichen:

Methode oder Technologie Verwendung Überlegungen
Transaktionsreplikation - Migrieren durch kontinuierliches Veröffentlichen von Änderungen der Quelldatenbanktabellen an die Zieltabellen in SQL-Datenbank.
– Führen Sie eine vollständige oder teilweise Datenbankmigrationen ausgewählter Tabellen (Teilmenge der Datenbank) aus.

Unterstützte Quellen:
- SQL Server (2016 to 2019) mit Einschränkungen
– AWS EC2
– GCP Compute mit SQL Server-VM
– Das Setup ist im Vergleich zu anderen Migrationsoptionen relativ komplex.
– Bietet eine kontinuierliche Replikationsoption zum Migrieren von Daten (ohne die Datenbanken offline zu schalten).
- Bei der transaktionalen Replikation gibt es Einschränkungen zu beachten, wenn Sie den Verleger auf der SQL Server-Quellinstanz einrichten. Weitere Informationen finden Sie unter Einschränkungen für das Veröffentlichen von Objekten.
– Es ist möglich, die Replikationsaktivität zu überwachen.
Import/Export-Dienst/BACPAC – Migrieren individueller Branchenanwendungsdatenbanken
- Für kleinere Datenbanken geeignet.
– Erfordert keinen separaten Migrationsdienst oder ein separates Tool.

Unterstützte Quellen:
- SQL Server (2005 bis 2019) lokal oder Azure VM
– AWS EC2
– AWS RDS
– GCP Compute mit SQL Server-VM
- Erfordert Downtime, da Daten aus der Quelle exportiert und im Ziel importiert werden müssen.
- Die für den Export/Import verwendeten Dateiformate und Datentypen müssen mit den Tabellenschemas übereinstimmen, um Kürzungen oder Fehler durch nicht übereinstimmende Datentypen zu vermeiden.
- Die Zeit zum Exportieren einer Datenbank mit einer großen Anzahl von Objekten kann deutlich höher sein.
Massenkopieren - Führen Sie vollständige oder teilweise Datenmigrationen durch.
- Downtime ist möglich.

Unterstützte Quellen:
- SQL Server (2005 bis 2019) lokal oder Azure VM
– AWS EC2
– AWS RDS
– GCP Compute mit SQL Server-VM
- Erfordert Downtime für das Exportieren von Daten aus der Quelle und das Importieren in das Ziel.
- Die für den Export/Import verwendeten Dateiformate und Datentypen müssen mit den Tabellenschemas übereinstimmen.
Azure Data Factory - Migrieren und/oder Transformieren von Daten aus SQL Server-Quelldatenbanken.
– Zusammenführen von Daten aus mehreren Datenquellen in Azure SQL-Datenbank (wird in der Regel für Business Intelligence-Arbeitsauslastungen verwendet)
- Erfordert das Erstellen von Datenverschiebungspipelines in Data Factory zum Verschieben von Daten aus der Quelle zum Ziel.
- Kosten sind ein wichtiger Aspekt, der auf den Faktoren der Pipelinetriggern, den Aktivitätsausführungen, der Dauer der Datenverschiebung und mehr basiert.

Featureinteroperabilität

Beim Migrieren von Workloads, die andere SQL Server-Features nutzen, gibt es weitere Aspekte, die Sie berücksichtigen werden müssen.

SQL Server Integration Services

Migrieren Sie SQL Server Integration Services-Pakete (SSIS) zu Azure, indem Sie die Pakete neu in der Azure-SSIS-Runtime in Azure Data Factory bereitstellen. Azure Data Factory unterstützt die Migration von SSIS-Paketen durch eine Runtime, in der SSIS-Pakete in Azure ausgeführt werden können. Alternativ können Sie die SSIS-ETL-Logik (extrahieren, transformieren, laden) mithilfe von Datenflüssen nativ in Azure Data Factory umschreiben.

SQL Server Reporting Services

SQL Server Reporting Services-Berichte (SSRS) können zu paginierten Berichten in Power BI migriert werden. Verwenden Sie das RDL-Migrationstool, um Ihre Berichte vorzubereiten und zu migrieren. Microsoft hat dieses Tool entwickelt, um Kunden bei der Migration von Report Definition Language (RDL)-Berichten von ihren SSRS-Servern zu Power BI zu unterstützen. Es ist auf GitHub verfügbar und dokumentiert eine exemplarische End-to-End-Vorgehensweise des Migrationsszenarios.

Hochverfügbarkeit

Die Funktionen der SQL Server-Hochverfügbarkeit wie Always On Failover-Cluster-Instanzen und Always On-Verfügbarkeitsgruppen werden auf der verwalteten SQL-Zielinstanz obsolet. Hochverfügbarkeitsarchitektur ist bereits in die Dienstebenen Universell (Standard-Verfügbarkeitsmodell) und Unternehmenskritisch (Premium Availability Model) für Azure SQL-Datenbank integriert. Die Dienstebene „Unternehmenskritisch“/„Premium“ stellt auch die horizontale Leseskalierung bereit, die das Herstellen einer Verbindung mit einem der sekundären Knoten für schreibgeschützte Zwecke ermöglicht.

Über die Hochverfügbarkeitsarchitektur hinaus, die in Azure SQL-Datenbank enthalten ist, können Sie mit dem Feature für Failovergruppen die Replikation und das Failover von Datenbanken in einer verwalteten Instanz in eine andere Region verwalten.

Anmeldungen und Gruppen

Windows-Anmeldungen werden in Azure SQL-Datenbank nicht unterstützt. Erstellen Sie stattdessen eine Anmeldung über Microsoft Entra ID (ehemals Azure Active Directory). Erstellen Sie alle SQL-Anmeldungen manuell neu.

SQL-Agent-Aufträge

SQL-Agent-Aufträge werden in Azure SQL-Datenbank nicht direkt unterstützt. Verwenden Sie stattdessen elastische Aufträge.

Systemdatenbanken

Die einzigen in Azure SQL-Datenbank anwendbaren Systemdatenbanken sind die Masterdatenbank und tempdb. Weitere Informationen finden Sie unter tempdb in Azure SQL-Datenbank.

Erweiterte Funktionen

Sie sollten unbedingt die Vorteile der erweiterten cloudbasierten Funktionen nutzen, die mit der SQL-Datenbank möglich sind. Zum Beispiel müssen Sie sich nicht um die Verwaltung der Backups kümmern, da der Dienst dies für Sie übernimmt. Sie können einen beliebigen Zeitpunkt im Aufbewahrungszeitraum wiederherstellen.

Um die Sicherheit zu erhöhen, sollten Sie Microsoft Entra-Authentifizierung, die Überwachung, die Bedrohungserkennung, die Sicherheit auf Zeilenebene und die dynamische Datenmaskierung verwenden.

Zusätzlich zu den erweiterten Verwaltungs- und Sicherheitsfunktionen stellt SQL-Datenbank eine Reihe von Tools bereit, die Sie beim Überwachen und Optimieren Ihrer Arbeitsauslastung unterstützen. Die Azure SQL-Analyse (Vorschauversion) ist eine erweiterte Überwachungslösung, mit der Sie die Leistung Ihrer sämtlichen Datenbanken in Azure SQL-Datenbank im großen Stil und subscriptionübergreifend in einer zentralen Ansicht überwachen können. Azure SQL-Analyse erfasst und visualisiert wichtige Leistungsmetriken und umfasst integrierte Logik für die Problembehandlung in Bezug auf die Leistung.

Mithilfe der automatischen Optimierung kann die Leistung Ihrer SQL-Ausführungsplanstatistiken kontinuierlich überwacht werden. Erkannte Leistungsprobleme werden durch dieses Feature automatisch korrigiert.

Migrationsressourcen

Weitere Unterstützung finden Sie in den folgenden Ressourcen, die für reale Migrationsprojekte entwickelt wurden.

Asset BESCHREIBUNG
Data Workload Assessment Model and Tool (Datenarbeitsauslastungs-Bewertungsmodell und -tool) Dieses Tool stellt für eine bestimmte Arbeitsauslastung Informationen zu empfohlenen „optimalen“ Zielplattformen, zur Cloudbereitschaft und zum Korrekturbedarf für Anwendungen/Datenbanken bereit. Es bietet eine einfache Berechnung und Berichterstellung mit nur einem Klick, die Ihnen durch einen automatisierten und einheitlichen Entscheidungsprozess für die Zielplattform dabei helfen, Bewertungen von umfangreichen Datenbeständen zu beschleunigen.
Massenerstellung von Datenbanken mit PowerShell Diese Ressource enthält drei PowerShell-Skripts, mit denen eine Ressourcengruppe (create_rg.ps1), der logische Server in Azure (create_sqlserver.ps1) und eine SQL-Datenbank (create_sqldb.ps1) erstellt werden können. Die Skripts enthalten Schleifenfunktionen, sodass Sie Iterationen durchführen und beliebig viele Server und Datenbanken erstellen können.
Massenbereitstellung von Schemas mit MSSQL-Scripter und PowerShell Mit dieser Ressource wird eine Ressourcengruppe sowie mindestens ein logischer Server in Azure zum Hosten der Azure SQL-Datenbank-Instanz erstellt. Außerdem exportiert sie jedes Schema aus einer lokalen SQL Server-Instanz (oder mehreren SQL Server-Instanzen (2005 und höher)) und importiert diese in Azure SQL-Datenbank.
Konvertieren von SQL Server-Agent-Aufträgen in Aufträge für elastische Datenbanken Dieses Skript migriert die SQL Server-Agent-Aufträge Ihrer Quelldatenbank zu Aufträgen für elastische Datenbanken.
Hilfsprogramm zum Verschieben lokaler SQL Server-Anmeldungen zu Azure SQL-Datenbank Hierbei handelt es sich um ein PowerShell-Skript, das ein T-SQL-Befehlsskript erstellt, um Anmeldungen und ausgewählte Datenbankbenutzer aus der lokalen SQL Server-Instanz in Azure SQL-Datenbank neu zu erstellen. Das Tool ermöglicht die automatische Zuordnung von Windows Server Active Directory-Konten zu Microsoft Entra-Konten, zusammen mit der optionalen Migration nativer SQL Server-Logins.
Automatisierung der PerfMon-Datensammlung mithilfe von Logman Sie können das Logman-Tool verwenden, um PerfMon-Daten zu erfassen (damit Sie die grundlegende Leistung besser verstehen können) und Empfehlungen für die Migration der virtuellen Maschine zu erhalten. Das Tool verwendet die ausführbare Datei „logman.exe“, um den Befehl zu erstellen, der die Leistungsindikatoren für eine SQL Server-Remoteinstanz erstellt, startet, beendet und löscht.

Das Data SQL Engineering-Team hat diese Ressourcen entwickelt. Die Hauptanwendung dieses Teams besteht darin, die komplexe Modernisierung für Datenplattform-Migrationsprojekte auf der Azure-Datenplattform von Microsoft freizugeben und zu beschleunigen.