Migrationsstrategien und -tools

Abgeschlossen

Für eine erfolgreiche SQL Server-Migration ist eine sorgfältige Planung unerlässlich. Diese Migrationsplanung umfasst sowohl das Wie als auch das Warum.

Visuelle Darstellung des SQL Server-Migrationsprozesses mit Fokus auf die Vorteile, die eingesetzten Tools und die Ausbalancierung der Downtime

  1. Das Verstehen des Warum bedeutet, die Vorteile nach Abschluss der Migration zu erkennen.
  2. Das Wie umfasst die Auswahl geeigneter Migrationstools und die Erarbeitung eines umfassenden Migrationsplans.
  3. Ein wichtiger Aspekt bei diesen Überlegungen ist die Länge der Downtime, die in der Organisation akzeptabel ist. Die Downtime muss während der Migration auf das absolute Minimum reduziert werden, damit die betriebliche Effizienz und Kontinuität gewahrt werden können.

Bei diesem Migrationsprojekt hat Ihr Team den Prozess mit einer Anfangsbesprechung begonnen. Ihre Rolle besteht darin, die Tools für die Migration einiger SQL Server-Instanzen zu untersuchen und die potenziellen Auswirkungen auf zukünftige SQL-Lizenzierungskosten zu präsentieren. Darüber hinaus müssen Sie eine Einigung über das akzeptable Ausmaß der Downtime erzielen. Die Projektmanagerin möchte auch eine Testphase integrieren, in der einige Server zu Testzwecken migriert werden, bevor die vollständige Migration erfolgt.

Verstehen der Vorteile der Migration

Sie arbeiten wahrscheinlich mit virtuellen Computern in Ihrer eigenen Infrastruktur, entweder mit Hyper-V oder mit virtuellen Computern anderer Hersteller. Daher sollte die Migration zu dieser Plattform für Sie keine steile Lernkurve darstellen.

Die Verwendung von virtuellen Computern (VMs) ermöglicht Ihnen die vollständige administrative Kontrolle über das Hostbetriebssystem und die SQL Server-Instanz. Sie können Hochverfügbarkeit, Notfallwiederherstellung und das Patchen für SQL Server einfacher konfigurieren und verwalten, als auf Ihren lokalen Computern. Sie können auch automatische Sicherungen und Updates einrichten, die Ihren gesamten Verwaltungsaufwand verringern. Für SQL Server in Azure Virtual Machines werden die folgenden SQL Server-Komponenten vollständig unterstützt:

  • SQL Server-Transaktionsreplikation
  • Always On-Verfügbarkeitsgruppen
  • Integration Services
  • Analysis Services
  • Reporting Services
  • Protokollversand

SQL Server ist für die Migration bestehender SQL Server-Anwendungen zu virtuellen Azure-Computern optimiert, wobei bis zu 256 TB Speicher unterstützt werden. Alle Versionen und Editionen von SQL Server sind verfügbar und bieten eine 100%ige Kompatibilität mit Ihren lokalen Versionen von SQL Server.

Lizenzierung

Es gibt drei Arten von Lizenzierungsmodellen, die für in Azure gehostete virtuelle SQL Server-Computer verwendet werden können. Bewerten Sie, welche für Ihr Migrationsszenario am besten geeignet ist.

  • Das Modell mit nutzungsbasierter Bezahlung bedeutet, dass die sekundengenauen Kosten für den Betrieb der Azure-VM die Kosten für die SQL Server-Lizenz enthalten.

  • Das Modell Bring-Your-Own-License (BYOL) ist auch als Azure-Hybridvorteil (Azure Hybrid Benefit, AHB) bekannt und ermöglicht die Verwendung Ihrer eigenen SQL Server-Lizenz mit einer VM, auf der SQL Server ausgeführt wird. Sie bezahlen dabei nur für die tatsächliche Nutzung der VM. Diese Option ist nur für Kunden verfügbar, die über ein Enterprise Agreement verfügen.

  • Das Lizenzmodell für Hochverfügbarkeit/Notfallwiederherstellung wird für das kostenlose Hochverfügbarkeits-/Notfallwiederherstellungsreplikat in Azure verwendet. Wenn Sie über Software Assurance verfügen, können Sie hybride Notfallwiederherstellungspläne mit SQL Server implementieren, ohne dass zusätzliche Lizenzierungskosten für die passive Notfallwiederherstellungsinstanz anfallen.

Tipp

Informationen zum Ändern des Lizenzmodells für einen virtuellen SQL-Computer in Azure finden Sie unter Ändern des Lizenzmodells für einen virtuellen SQL-Computer in Azure.

Netzwerk

Wenn Sie eine SQL Server-VM im Azure-Portal bereitstellen, haben Sie die Möglichkeit, die Art der SQL-Konnektivität festzulegen, die Folgendes umfasst:

  • Öffentlich: Verbindung mit SQL Server über das Internet
  • Privat: Verbindung mit SQL Server innerhalb des gleichen virtuellen Netzwerks
  • Lokal: Lokale Verbindung mit SQL Server auf demselben virtuellen Computer

Wenn Sie eine Verbindung mit Ihrem SQL Server-Datenbankmodul über das Internet herstellen möchten, wählen Sie „Öffentlich“ aus. Das Portal führt automatisch folgende Schritte aus:

  • Es aktiviert das TCP/IP-Protokoll für SQL Server.
  • Es konfiguriert eine Firewallregel, um den SQL Server-TCP-Port (standardmäßig 1433) zu öffnen.
  • Es aktiviert die für den öffentlichen Zugriff erforderliche SQL Server-Authentifizierung.
  • Es konfiguriert die Netzwerksicherheitsgruppe auf dem virtuellen Computer für sämtlichen TCP-Datenverkehr am SQL Server-Port.

Wenn Sie im Portal für SQL-Konnektivität den Typ Privat auswählen, werden die meisten Einstellungen genau wie beim Typ Öffentlich konfiguriert. Der Unterschied besteht darin, dass es keine Netzwerksicherheitsgruppenregel gibt, die externen Datenverkehr am SQL Server-Port (standardmäßig 1433) zulässt. Sie können die Konnektivitätseinstellungen für Ihren virtuellen SQL-Computer im Azure-Portal ändern.

Schlüsselverwaltung

SQL Server bietet Verschlüsselungsfeatures, für die Sie die Kryptografieschlüssel verwalten und speichern müssen. Der Azure-Schlüsseltresor-Dienst (Azure Key Vault, AKV) ist dafür ausgelegt, die Sicherheit und Verwaltung dieser Schlüssel an einem sicheren und hoch verfügbaren Speicherort zu verbessern. Mit dem SQL Server-Connector kann SQL Server diese Schlüssel aus Azure Key Vault verwenden.

Sie können Zeit sparen, indem Sie das AKV-Integrationsfeature verwenden. Wenn dieses Feature aktiviert ist, wird der SQL Server-Connector automatisch installiert. Das Feature konfiguriert dann den Anbieter für die erweiterbare Schlüsselverwaltung (Extensible Key Management, EKM) für den Zugriff auf den AKV und erstellt die Anmeldeinformationen, mit denen Sie auf Ihren Tresor zugreifen können.

Größenbestimmung virtueller Computer

Sie können ein Image des virtuellen SQL Server-Computers mit der gewünschten Version, Edition und dem Betriebssystem auswählen, um zu beginnen. Sie können außerdem die Anzahl der CPUs und des Arbeitsspeichers so konfigurieren, wie es für Ihre Workloads angemessen ist.

Viele der Optionen zur Optimierung der Datenbankleistung, die Sie verwenden, um sicherzustellen, dass Ihr SQL Server gute Leistungen für Ihre lokalen Workloads erbringt, gelten auch für die SQL Server-Instanz, die auf einer Azure-VM ausgeführt wird. Es gibt zusätzliche Faktoren, die Sie beachten müssen, einschließlich der Größe der VM und der Konfiguration der Datenträger. Verwenden Sie die folgende Prüfliste als Leitfaden, um sicherzustellen, dass Sie über die optimale Leistung für eine SQL Server-Instanz verfügen, die auf einem virtuellen Azure-Computer ausgeführt wird.

Leistungsmetrik Optimierungsoption
Virtueller Computer
  • Die Mindestgröße des virtuellen Computers, der für Enterprise-Editionen von SQL Server ausgewählt werden sollte, ist DS3_v2 oder höher.
  • Für die Standard Edition oder Web Edition, verwenden Sie DS2_v2 als Mindestgröße.
Storage
  • Verwenden Sie SSD Premium-Datenträger für Workloads in der Produktionsumgebung.
  • Standard-Speicher für Dev/Test-Umgebungen.
  • Stellen Sie sicher, dass sich der Speicher am gleichen Standort wie der virtuelle Computer befindet.
Datenträger
  • Verwenden Sie mindestens 2 P30-Datenträger (1 für Protokolldateien; 1 für Datendateien, einschließlich „TempDB“).
  • Für Workloads, die ca. 50.000 IOPS erfordern, sollten Sie die Verwendung eines SSD Ultra-Datenträgers erwägen.
  • Vermeiden Sie die Verwendung von Betriebssystem- oder temporären Datenträgern für die Datenbankspeicherung oder Protokollierung.
  • Aktivieren Sie das Caching für Lesevorgänge auf den Datenträgern, auf denen die Datendateien und TempDB-Datendateien gehostet werden.
  • Aktivieren Sie kein Caching auf Datenträgern, auf denen die Protokolldatei gehostet wird.
  • Erstellen Sie ein Stripeset mehrerer Azure-Datenträger für Daten, um einen höheren E/A-Durchsatz zu erzielen.
  • Formatieren Sie mit dokumentierten Zuordnungsgrößen.
  • Speichern Sie TempDB für unternehmenskritische SQL Server-Workloads auf dem lokalen SSD-Datenträger (nachdem Sie die richtige VM-Größe ausgewählt haben).
E/A
  • Aktivieren Sie die Komprimierung von Datenbankseiten
  • Aktivieren Sie die sofortige Dateiinitialisierung für Datendateien.
  • Begrenzen Sie die automatische Vergrößerung der Datenbank.
  • Deaktivieren Sie die automatische Verkleinerung der Datenbank.
  • Verschieben Sie alle Datenbanken, einschließlich der Systemdatenbanken, auf Datenträger für Daten.
  • Verschieben Sie die Verzeichnisse für das SQL Server-Fehlerprotokoll und die Ablaufverfolgungsdateien auf die Datenträger für Daten.
  • Richten Sie standardmäßige Dateispeicherorte für Sicherungen und Datenbanken ein.
  • Aktivieren Sie gesperrte Seiten.
  • Wenden Sie SQL Server-Leistungs-Hotfixpakete an.

Möglicherweise gibt es bestimmte Leistungseinstellungen, die Sie anwenden möchten, die für Ihre Workload spezifisch sind. Stellen Sie sicher, dass die Einstellungen vor der Migration in einer Testumgebung getestet werden.

Nützliche Tools und Features für die Migration

Es gibt viele verschiedene Möglichkeiten, Ihre SQL Server-Instanz zu einer Azure-VM zu migrieren. Der erste Schritt in diesem Prozess ist die Bereitstellung einer Azure-VM, auf der SQL Server installiert ist.

Die beste Leistung bei der Datenübertragung erhalten Sie, wenn Sie die Datenbankdateien mithilfe einer komprimierten Sicherungsdatei zur Azure-VM migrieren.

Um die Downtime während des Datenbankmigrationsprozesses zu minimieren, verwenden Sie entweder die Option „Always On“ oder „Transaktionsreplikation“. Wenn es nicht möglich ist, eine der oben genannten Methoden zu verwenden, können Sie Ihre Datenbank immer noch manuell migrieren.

Dies sind die wichtigsten Tools und Features, mit denen Sie Ihre SQL Server-Datenbanken unterstützen und zu Azure-VMs migrieren können.

  • Azure SQL-Migrationserweiterung für Azure Data Studio: Die Azure SQL-Migrationserweiterung stützt sich auf die neueste Version von Azure Database Migration Service, hilft bei der Bewertung der Migrationsbereitschaft, bietet geeignete SKU-Empfehlungen für Azure-Ressourcen, erleichtert die Migration Ihrer SQL Server-Datenbank zu Azure und eignet sich ideal für kleine bis mittelgroße Datenbanken. Sie basiert auf der neuesten Version von Data Migration Services und bietet auch ein erweitertes Bewertungsfeature, das SQL Server-Datenbanken auswertet, die für die Migration zu Azure SQL bereit sind.

  • Sichern und Wiederherstellen mit Azure Blob Storage: Sie können eine Datenbank aus Azure Blob Storage in Ihrer SQL Server-Instanz wiederherstellen, die auf einem virtuellen Azure-Computer ausgeführt wird.

  • Trennen und Anfügen über eine URL: Sie können Ihre Datenbank und Protokolldateien trennen und in ein Azure Storage-Konto übertragen. Fügen Sie dann die Datenbank über die Blob-URL an Ihre Azure-VM an.

  • Protokollversand: Der Protokollversand ist eine Methode zum Migrieren einer SQL Server-Datenbank zu einer Azure-VM. Dabei wird kontinuierlich eine sekundäre Kopie der Datenbank auf dem Zielserver mithilfe der Transaktionsprotokollsicherungen vom Quellserver synchronisiert. Wenn alles bereit ist, wird die endgültige Protokollsicherung auf die Azure-VM angewendet, sodass eine nahtlose Migration mit minimaler Downtime ermöglicht wird.

  • Azure Migrate: Azure Migrate ist ein umfassender Migrationsdienst, der eine Vielzahl von Migrationsszenarios unterstützt, einschließlich der SQL Server-Migration. Azure Migrate bietet eine Suite von Tools, die für die Bewertung und Migration von lokalen Servern, Infrastrukturen, Anwendungen und Daten im großen Stil entwickelt wurden, um sie zu Azure zu migrieren.

  • Assistent für Datenbankexperimente: Verwenden Sie diesen Assistenten, um zu bewerten, ob Ihr Zielserver die Workload bewältigen kann, wenn Sie Bedenken hinsichtlich der Leistung haben. Sie können die Analysemetriken verwenden, um Vergleichsdaten zu erhalten, damit Sie entscheiden können, ob die angestrebte Version nach der Migration eine bessere Erfahrung bietet.

  • Datenmigrations-Assistent (DMA): Verwenden Sie diesen Assistenten, um Datenbankschemas, Daten, Benutzer, Serverrollen sowie SQL Server- und Windows-Anmeldeinformationen von einer lokalen SQL Server-Instanz zu einer SQL Server-Instanz auf einem virtuellen Azure-Computer zu migrieren. Das Tool führt zunächst eine Bewertung durch, die Sie auffordert, eventuelle Kompatibilitätsprobleme zu beheben. Sie können dann das gleiche Tool verwenden, um das bewertete Datenbankschema und die Daten zu Azure zu migrieren.

Hinweis

Der Database Migration Assistant ist zwar ein nützliches verfügbares Tool, es wird jedoch empfohlen, den Azure Database Migration Service für große Migrationen und eine verbesserte Gesamterfahrung zu verwenden.

Tipp

Informationen zum Bewerten lokaler SQL Server-Instanzen für die Migration zu Azure SQL und zu neuen Features auf der SQL Server-Zielplattform, von denen die Datenbank nach einem Upgrade profitieren kann, finden Sie im Modul Bewerten von SQL Server-Datenbanken für die Migration zu Azure SQL.

Definieren Ihres Migrationsansatzes

Es ist wichtig, die mit der Migration verbundenen Anforderungen an die Downtime des Unternehmens zu berücksichtigen. Unabhängig davon, ob Sie zu SQL Server auf einem virtuellen Computer oder zu einer Azure SQL-Datenbank migrieren.

Die gewählte Methode zur Migration der Datenbank ist in der Regel davon abhängig, wie lange die SQL Server-Datenbanken offline sein können. Ein weiterer Faktor bei Ihrer Entscheidung könnte sein, wie groß der Anteil der Automation an diesem Prozess sein soll, oder ob Sie die Migration manuell durchführen. Es gibt drei Migrationstypen, die sich nach der Downtime richten:

  • Migration ohne Downtime
  • Migration mit kleinem Wartungsfenster
  • Migration mit großem Wartungsfenster

Migration ohne Downtime

Für unternehmenskritische Workloads sind normalerweise Migrationen ohne Downtime erforderlich. Sie können Always On-Verfügbarkeitsgruppen verwenden, um Daten aus einer SQL Server-Datenbank in SQL Server in Azure Virtual Machines zu replizieren.

Migration mit kleinem Wartungsfenster

Kleine Wartungsfenster werden häufig in Minuten gemessen. Verwenden Sie Azure Database Migration Service, um Daten aus einer lokalen SQL Server-Datenbank zu einem SQL Server, der auf einem virtuellen Azure-Computer ausgeführt wird, zu replizieren und zu migrieren.

Hinweis

Um eine gesamte Anwendung zu migrieren, sollten Sie die Verwendung von Azure Site Recovery erwägen.

Migration mit großem Wartungsfenster

Große Wartungsfenster werden oft in Stunden oder Tagen gemessen und eignen sich für Anwendungsdatenbanken, die sich nur selten ändern oder bei denen die Workload nicht unternehmenskritisch ist. Sie haben mehrere Möglichkeiten, die von der Verwendung von BACPAC-Export- und -Importdateien von SQL Server Management Studio oder der Verwendung eines Sicherungs- und Wiederherstellungsansatzes bis hin zum Trennen und anschließenden Anfügen der Datenbank reichen.