Migrieren einer SQL Server-Datenbank zu Azure SQL-Datenbank

GILT FÜR: Azure SQL-Datenbank

Dieser Artikel enthält Informationen zu den Hauptmethoden, mit denen eine SQL Server-Datenbank (ab SQL Server 2005) zu Azure SQL-Datenbank migriert wird. Informationen zum Migrieren zu Azure SQL Managed Instance finden Sie unter Migration einer SQL Server-Instanz zu Azure SQL Managed Instance. Einen Leitfaden zu Migrationsoptionen und Tools für die Migration zu Azure SQL finden Sie unter Migrieren zu Azure SQL.

Migrieren zu einer Einzel- oder Pooldatenbank

Es gibt zwei Hauptmethoden für das Migrieren einer SQL Server-Datenbank (ab SQL Server 2005) zu Azure SQL-Datenbank. Die erste Methode ist einfacher, aber auch mit einer gewissen (möglicherweise sogar erheblichen) Ausfallzeit während der Migration verbunden. Die zweite Methode ist komplexer, verringert aber deutlich die Ausfallzeit während der Migration.

In beiden Fällen muss mit dem Data Migration Assistant (DMA) sichergestellt werden, dass die Quelldatenbank mit Azure SQL-Datenbank kompatibel ist. Azure SQL-Datenbank nähert sich der Featureübereinstimmung mit SQL Server (abgesehen von Problemen mit Vorgängen auf Serverebene und datenbankübergreifenden Vorgängen). Datenbanken und Anwendungen, die auf teilweise oder nicht unterstützten Funktionen basieren, müssen zur Behebung dieser Kompatibilitätsprobleme vor der Migration der SQL Server-Datenbank etwas umstrukturiert werden.

Hinweis

Informationen zum Migrieren einer SQL Server-fremden Datenbank (einschließlich Microsoft Access, Sybase, MySQL Oracle und DB2) zu Azure SQL-Datenbank finden Sie unter SQL Server-Migrations-Assistent.

Methode 1: Migration mit Ausfallzeit

Verwenden Sie diese Methode zum Migrieren zu einer Einzel -oder Pooldatenbank, falls eine gewisse Ausfallzeit akzeptabel ist oder Sie eine Testmigration für eine später zu migrierende Produktionsdatenbank durchführen möchten. Ein Tutorial finden Sie unter Migrieren einer SQL Server-Datenbank.

Die folgende Liste enthält den allgemeinen Workflow für die SQL Server-Migration einer Einzel- oder Pooldatenbank mit dieser Methode. Informationen zur Migration zu SQL Managed Instance finden Sie unter Migration zu SQL Managed Instance.

Diagramm der VSSSDT-Migration

  1. Untersuchen Sie die Kompatibilität der Datenbank mit der neuesten Version von Data Migration Assistant (DMA).
  2. Bereiten Sie alle erforderlichen Korrekturen in Form von Transact-SQL-Skripts vor.
  3. Erstellen Sie eine im Hinblick auf Transaktionen konsistente Kopie der zu migrierenden Quelldatenbank, oder verhindern Sie neue Transaktionen in der Quelldatenbank, während die Migration erfolgt. Zu den Methoden für letztere Option gehören das Deaktivieren der Clientkonnektivität oder das Erstellen einer Datenbankmomentaufnahme. Nach der Migration können Sie möglicherweise mithilfe der Transaktionsreplikation die migrierten Datenbanken mit Änderungen aktualisieren, die nach dem Umstellungspunkt für die Migration erfolgen. Siehe Verwenden der Transaktionsmigration.
  4. Stellen Sie die Transact-SQL-Skripts bereit, um die Korrekturen auf die Datenbankkopie anzuwenden.
  5. Migrieren Sie die Datenbankkopie mithilfe von Data Migration Assistant zu einer Azure SQL-Datenbank-Instanz.

Hinweis

Anstelle von DMA können Sie auch eine BACPAC-Datei verwenden. Siehe Importieren einer BACPAC-Datei in eine neue Datenbank in Azure SQL-Datenbank.

Optimieren der Datenübertragungsleistung während der Migration

Die folgende Liste enthält Empfehlungen, mit denen Sie während des Importprozesses eine optimale Leistung erzielen.

  • Wählen Sie im Rahmen Ihres verfügbaren Budgets die höchste Dienstebene und Computegröße, um die Übertragungsleistung zu maximieren. Nach Abschluss der Migration können Sie zentral herunterskalieren, um Geld zu sparen.
  • Minimieren Sie die Entfernung zwischen Ihrer BACPAC-Datei und dem Zielrechenzentrum.
  • Deaktivieren der automatischen Statistik während der Migration
  • Partitionierte Tabellen und Indizes
  • Verwerfen Sie indizierte Sichten, und erstellen Sie nach Abschluss des Vorgangs neu.
  • Verschieben Sie selten abgefragte Verlaufsdaten in eine andere Datenbank, und migrieren Sie die Verlaufsdaten in eine separate Azure SQL-Datenbank-Instanz. Die Verlaufsdaten können dann mithilfe elastischer Abfragen abgefragt werden.

Optimieren der Leistung nach Abschluss der Migration

Aktualisieren Sie die Statistik mit einem vollständigen Scan nach Abschluss der Migration.

Methode 2: Verwenden der Transaktionsreplikation

Wenn Sie es sich nicht leisten können, Ihre SQL Server-Datenbank während der Migration aus der Produktion herauszunehmen, können Sie die SQL Server-Transaktionsreplikation als Migrationslösung verwenden. Die Verwendung dieser Methode setzt voraus, dass die Quelldatenbank die Anforderungen für die Transaktionsreplikation erfüllt und mit Azure SQL-Datenbank kompatibel ist. Weitere Informationen zur SQL-Replikation mit Always On finden Sie unter Konfigurieren der Replikation für AlwaysOn-Verfügbarkeitsgruppen (SQL Server).

Zur Verwendung dieser Lösung können Sie Ihre Azure SQL-Datenbank-Instanz als Abonnent der SQL Server-Instanz konfigurieren, die Sie migrieren möchten. Der Verteiler der Transaktionsreplikation synchronisiert die Daten aus der zu synchronisierenden Datenbank (der Veröffentlicher), während weiterhin neue Transaktionen ausgeführt werden.

Bei der Transaktionsreplikation werden alle Änderungen an Daten oder Schema in Ihrer Azure SQL-Datenbank-Instanz angezeigt. Wenn die Synchronisierung abgeschlossen ist, und Sie zur Migration bereit sind, ändern Sie die Verbindungszeichenfolge Ihrer Anwendungen so, dass sie auf Ihre Datenbank verweist. Sobald die Transaktionsreplikation alle verbleibenden Änderungen Ihrer Quelldatenbank abgearbeitet hat und alle Anwendungen auf Azure DB verweisen, können Sie die Transaktionsreplikation deinstallieren. Ihre Azure SQL-Datenbank-Instanz ist jetzt Ihr Produktionssystem.

SeedCloudTR-Diagramm

Tipp

Mit der Transaktionsreplikation können Sie auch einen Teil Ihrer Quelldatenbank migrieren. Die Veröffentlichung, die Sie zu Azure SQL-Datenbank replizieren, kann auf eine Teilmenge der Tabellen in der replizierten Datenbank beschränkt werden. Für jede replizierte Tabelle können Sie die Daten auf eine Teilmenge der Zeilen bzw. eine Teilmenge der Spalten beschränken.

Migration zu SQL-Datenbank mithilfe des Workflows der Transaktionsreplikation

Wichtig

Verwenden Sie die neueste Version von SQL Server Management Studio, damit Ihr System mit den Updates von Azure und SQL-Datenbank synchronisiert bleibt. Ältere Versionen von SQL Server Management Studio können SQL-Datenbank nicht als Abonnenten einrichten. Aktualisieren Sie SQL Server Management Studio.

  1. Einrichten der Verteilung

  2. Erstellen der Veröffentlichung

  3. Erstellen von Abonnements

Einige Tipps und Informationen zu den Unterschieden, die beim Migrieren zu SQL-Datenbank zu beachten sind

  • Verwendung eines lokalen Verteilers:
    • Dadurch wird die Leistung des Servers beeinträchtigt.
    • Falls die Leistungsbeeinträchtigung nicht akzeptabel ist, können Sie einen anderen Server verwenden. Dies erhöht jedoch die Komplexität der Verwaltung und Administration.
  • Achten Sie bei der Wahl eines Momentaufnahmeordners darauf, dass der Ordner groß genug ist, um darin eine BCP-Datei jeder zu replizierenden Tabelle zu speichern.
  • Bei der Momentaufnahmenerstellung werden die betreffenden Tabellen bis zum Abschluss des Vorgangs gesperrt. Planen Sie die Momentaufnahme daher entsprechend.
  • In Azure SQL-Datenbank werden nur Pushabonnements unterstützt. Sie können nur Abonnenten aus der Quelldatenbank hinzufügen.

Beheben von Kompatibilitätsproblemen bei der Datenbankmigration

Es können verschiedenste Kompatibilitätsprobleme auftreten. Dies hängt von der SQL Server-Version in der Quelldatenbank und der Komplexität der Datenbank ab, die Sie migrieren. Ältere Versionen von SQL Server weisen mehr Kompatibilitätsprobleme auf. Verwenden Sie die folgenden Ressourcen und eine gezielte Internetsuche mithilfe Ihrer bevorzugten Suchmaschine:

Zusätzlich zur Suche im Internet und zur Verwendung dieser Ressourcen sollten Sie die Microsoft F&A-Seite für Azure SQL-Datenbank oder StackOverflow verwenden.

Wichtig

Eine verwaltete Azure SQL-Instanz ermöglicht die Migration einer vorhandenen SQL Server-Instanz und deren Datenbanken mit minimalen oder keinen Kompatibilitätsproblemen. Siehe Was ist eine verwaltete Instanz?.

Nächste Schritte