Freigeben über


Vorbereiten der Umgebung für eine SQL-VM-Migration (Vorschau) – SQL Server Migration in Azure Arc

Gilt für:SQL Server

In diesem Artikel erfahren Sie, wie Sie Ihre Umgebung für die Migration Ihrer SQL Server-Instanz, die von Azure Arc unterstützt wird, zu SQL Server auf Azure-VMs im Azure-Portal vorbereiten.

Hinweis

  • Das Migrieren zu SQL Server auf Azure-VMs über das Azure-Portal befindet sich derzeit in der Vorschau.
  • Sie können Feedback zu Ihrer Migrationserfahrung direkt an die Produktgruppe senden.

Voraussetzungen

Um Ihre SQL Server Datenbanken über das Azure Portal zu SQL Server auf Azure VMs zu migrieren, benötigen Sie die folgenden Voraussetzungen:

Unterstützte SQL Server Versionen

SQL Server VM-Migration funktioniert mit jeder Edition von SQL Server auf Windows und Linux.

In der folgenden Tabelle sind die mindestens unterstützten SQL Server Versionen für die Migration aufgeführt:

SQL Server Version Minimale erforderliche Wartungsaktualisierung
SQL Server 2025 (17,x) SQL Server 2025 RTM (17.0.1000.7)
SQL Server 2022 (16.x) SQL Server 2022 RTM (16.0.1000.6)
SQL Server 2019 (15.x) SQL Server 2019 RTM (15.0.2000.5)
SQL Server 2017 (14.x) SQL Server 2017 RTM (14.0.1000.169)
SQL Server 2016 (13.x) SQL Server 2016 RTM (13.0.1400.361)
SQL Server 2014 (12.x) SQL Server 2014 RTM (12.0.2000.8)
SQL Server 2012 (11.x) SQL Server 2012 RTM (11.0.2100.60)

Erlaubnisse

In diesem Abschnitt werden die Berechtigungen beschrieben, die Sie zum Migrieren Ihrer SQL Server Datenbanken zum SQL Server auf Azure virtuellen Computern über das Azure-Portal benötigen.

Für die Quellinstanz SQL Server benötigen Sie die folgenden Berechtigungen:

  • Wenn Sie das Prinzip der minimalen Berechtigung aktivieren, werden erforderliche Berechtigungen wie sysadmin während des Datenbankmigrationsprozesses nach Bedarf erteilt.
  • Wenn Sie das Prinzip der geringsten Privilegien nicht anwenden können, benötigen Sie sysadmin Berechtigungen für die Quellinstanz des SQL Server.

Sie benötigen die Rolle Virtual Machine Contributor auf dem Zielcomputer Azure VM, um die Migration auszuführen.

Speicherkonto erstellen

Sie verwenden ein Azure Blob Storage Konto als zwischengeschalteten Speicher für Sicherungsdateien zwischen Ihrer SQL Server Instanz und Ihrer SQL Server auf Azure VM. Das Speicherkonto muss sich im selben Azure Abonnement und derselben Region wie Ihr SQL Server auf Azure VM-Ziel befinden.

So erstellen Sie ein neues Speicherkonto und einen Blobcontainer im Speicherkonto:

  1. Erstellen eines Speicherkontos:
    1. Suchen Sie im Azure Portal nach Storage-Konten, und wählen Sie Create aus.
    2. Wählen Sie auf der Registerkarte " Grundlagen " Ihre Abonnement- und Ressourcengruppe aus. Die Region sollte mit dem Zielserver Ihres SQL Servers auf einer Azure-VM übereinstimmen.
    3. Lassen Sie den bevorzugten Speichertyp leer.
    4. Verwenden Sie die Standardeinstellungen für die restlichen Registerkarten, und wählen Sie "Überprüfen+ erstellen" aus.
    5. Nachdem die Überprüfung bestanden wurde, wählen Sie "Erstellen" aus.
  2. Erstellen Sie einen Blobcontainer im Speicherkonto.
    1. Wechseln Sie zum neuen Speicherkonto im Azure-Portal.
    2. Wählen Sie unter Datenspeicher die Option Container aus.
    3. Verwenden Sie "Container hinzufügen" , um den Bereich "Neuer Container " zu öffnen.
    4. Geben Sie einen Namen für Ihren Container ein, lassen Sie die Standardoptionen bei, und wählen Sie "Erstellen" aus, um Ihren Container zu erstellen.
  3. (Optional) Wenn sich Ihr Azure Storage hinter einer Firewall befindet, erfordert Ihr Azure BLOB-Speicher additional configuration nachdem Ihre SQL Server VM bereitgestellt wurde. Konfigurieren Sie die Delegierung für das Subnetz mit dem Namen "VM".

Erteilen von Berechtigungen für Azure Blob Storage

SQL Server VM-Migration in Azure Arc verwendet eine verwaltete Identität, um sich bei Azure Blob Storage zu authentifizieren.

Sie müssen die folgenden Berechtigungen erteilen:

Gewähren des Benutzerzugriffs auf das Speicherkonto

Um während des Migrationsprozesses auf Datenbanksicherungen zuzugreifen, müssen Sie den Benutzer, der sich beim Azure-Portal anmeldet und die Migration durchführt, der Rolle "Storage Blob Data Reader" für das Speicherkonto zuweisen, das die Sicherungen enthält.

Führen Sie die folgenden Schritte aus, um die Rolle zuzuweisen:

  1. Wechseln Sie im Azure-Portal zur Ressourcengruppe, die Ihr Speicherkonto enthält.

  2. Klicken Sie im Menü „Ressource“ auf Zugriffssteuerung (IAM).

  3. Verwenden Sie +Hinzufügen , um " Rollenzuweisung hinzufügen " auszuwählen und den Bereich "Rollenzuweisung hinzufügen " zu öffnen.

  4. Suchen Sie nach der Rolle "Storage Blob Data Reader ", und wählen Sie sie aus. Wählen Sie dann Weiter aus.

    Screenshot zum Auffinden der Rolle

  5. Verwenden Sie +Mitglieder auswählen , um den Bereich " Mitglieder auswählen " zu öffnen und nach dem Benutzerkonto der Person zu suchen, die die Migration durchführt. Wenn mehrere Personen Daten migrieren, gewähren Sie all diesen Benutzern diesen Zugriff. Wählen Sie das Benutzerkonto aus und verwenden Sie Auswählen, um Ihre Auswahl zu speichern. Aktivieren Sie die Option zum Zuweisen des Zugriffs auf Den Benutzer, die Gruppe oder den Dienstprinzipal.

  6. Wählen Sie "Überprüfen" und "Zuweisen " aus, um zur Registerkarte " Überprüfen+ Zuweisen " zu wechseln, und wählen Sie dann erneut "Überprüfen" aus , um die Rollenzuweisung abzuschließen.

Gewähren des Benutzerzugriffs auf die Ressourcengruppe

Um während des Migrationsprozesses auf Datenbanksicherungen zuzugreifen, muss dem Benutzer, der sich beim Azure Portal anmeldet und die Migration durchführt, die Rolle Reader in der Ressourcengruppe zugewiesen werden, die das Speicherkonto enthält.

Führen Sie die folgenden Schritte aus, um die Rolle zuzuweisen:

  1. Wechseln Sie im Azure-Portal zur Ressourcengruppe, die Ihr Speicherkonto enthält.

  2. Klicken Sie im Menü „Ressource“ auf Zugriffssteuerung (IAM).

  3. Verwenden Sie +Hinzufügen , um " Rollenzuweisung hinzufügen " auszuwählen und den Bereich "Rollenzuweisung hinzufügen " zu öffnen.

  4. Suchen Sie nach der Reader-Rolle , und wählen Sie sie aus. Wählen Sie dann Weiter aus.

    Screenshot zum Auffinden der Rolle „Reader“ auf der Seite „IAM“ für die Ressourcengruppe im Azure-Portal.

  5. Verwenden Sie +Mitglieder auswählen , um den Bereich " Mitglieder auswählen " zu öffnen und nach dem Benutzerkonto der Person zu suchen, die die Migration durchführt. Wenn mehrere Personen Daten migrieren, gewähren Sie all diesen Benutzern diesen Zugriff. Wählen Sie das Benutzerkonto aus und verwenden Sie Auswählen, um Ihre Auswahl zu speichern. Aktivieren Sie die Option zum Zuweisen des Zugriffs auf Den Benutzer, die Gruppe oder den Dienstprinzipal, und verwenden Sie dann "Weiter ", um fortzufahren.

  6. Legen Sie auf der Registerkarte " Zuordnungstyp " den Zuordnungstyp auf "Aktiv " und die Dauer der Zuordnung auf "Dauerhaft" fest:

    Screenshot zum Festlegen des Zuordnungstyps auf

  7. Wählen Sie "Überprüfen" und "Zuweisen " aus, um zur Registerkarte " Überprüfen+ Zuweisen " zu wechseln, und wählen Sie dann erneut "Überprüfen" aus , um die Rollenzuweisung abzuschließen.

Zugriff auf das Speicherkonto für verwaltete Identitäten gewähren

Nachdem Ihre SQL Server VM bereitgestellt wurde, müssen Sie die verwaltete Identität Ihrer SQL Server VM dem Storage Blob Data Reader zuweisen, damit sie während des Migrationsprozesses auf Ihr Azure Blob Storage Konto zugreifen kann.

Zunächst müssen Sie bestimmen, welche Art von verwalteter Identität Ihre SQL Server VM verwendet. Gehen Sie dazu folgendermaßen vor:

  1. Wechseln Sie zur Ressource Virtual machines im Azure-Portal.
  2. Wählen Sie unter "Sicherheit" die Option "Identität" aus, um den Bereich "Identität" zu öffnen. Wählen Sie zwischen der Verwendung der vom System zugewiesenen Identität oder einer vom Benutzer zugewiesenen Identität aus:
    1. Auf der Registerkarte "System zugewiesen " können Sie den Statusschalter verwenden, um die vom System zugewiesene Identität zu aktivieren, wenn sie noch nicht aktiviert ist. Wenn die vom System zugewiesene Identität aktiviert ist, können Sie Azure Rollenzuweisungen auswählen, um zur Seite Azure Rollenzuweisungen zu wechseln und dann +Rollenzuweisung hinzufügen (Vorschau) verwenden, um der vom System zugewiesenen Identität der SQL Server-VM die Storage Blob Data Reader Berechtigungen zu erteilen, indem Sie Storage als Scope auswählen und dann Ihre Ressource auswählen.
    2. Auf der Registerkarte Benutzer zugewiesen können Sie die Liste der vom Benutzer zugewiesenen Identitäten sehen, die an die SQL Server VM angefügt sind. Wenn Sie eine neue benutzer zugewiesene Identität hinzufügen möchten, wählen Sie + Benutzer zugewiesene Identität hinzufügen aus, und wählen Sie dann eine vorhandene benutzer zugewiesene Identität aus Ihrem Abonnement aus, um sie an die SQL Server VM anzufügen. Notieren Sie sich den Namen der vom Benutzer zugewiesenen Identität, die Sie für die Authentifizierung zum Azure Blob Storage verwenden möchten, da Sie ihn für die nächsten Schritte benötigen.

Führen Sie die folgenden Schritte aus, um zugriff auf die vom Benutzer zugewiesene verwaltete Identität für das Speicherkonto zu gewähren:

  1. Wechseln Sie zum Azure Blob Storage Konto im Azure Portal, das Sie für die Migration verwenden möchten.
  2. Klicken Sie im Menü „Ressource“ auf Zugriffssteuerung (IAM).
  3. Verwenden Sie +Hinzufügen , um " Rollenzuweisung hinzufügen " auszuwählen und den Bereich "Rollenzuweisung hinzufügen " zu öffnen.
  4. Suchen Sie nach der Rolle "Storage Blob Data Reader ", und wählen Sie sie aus. Wählen Sie dann Weiter aus.
  5. Unter "Zugriff zuweisen" wählen Sie die Option "Verwaltete Identität" aus.
  6. Verwenden Sie "Mitglieder auswählen" , um den Bereich " Mitglieder auswählen " zu öffnen.
  7. Wählen Sie unter "Verwaltete Identität" die Option "Vom Benutzer zugewiesene verwaltete Identität" aus.
  8. Suchen Sie nach dem Namen Primary identity, den Sie zuvor auf der Seite Identity Ihrer SQL Server VM notiert haben, und wählen Sie sie aus.
  9. Verwenden Sie "Auswählen" , um Ihre Auswahl zu speichern.
  10. Wählen Sie "Überprüfen" und "Zuweisen " aus, um zur Registerkarte " Überprüfen+ Zuweisen " zu wechseln, und wählen Sie dann erneut "Überprüfen" aus , um die Rollenzuweisung abzuschließen.

Hochladen von Sicherungen in Ihr Blob Storage Konto

Wenn Ihr BLOB-Container bereit ist und Sie bestätigt haben, dass Ihre SQL Server VM auf den Container zugreifen kann, können Sie mit dem Hochladen Ihrer Sicherungen in Ihr Azure Blob Storage Konto beginnen. Wenn alle Ihre Sicherungen in Ihr Speicherkonto hochgeladen werden, können Sie mit der Migration fortfahren.

So laden Sie Ihre Sicherungen in Azure hoch:

  1. Erstellen von Sicherungen auf einer SQL Server Instanz.
  2. Kopieren Sie Ihre Backups auf Ihr Blob Storage-Konto.

Berücksichtigen Sie die folgenden bewährten Methoden:

  • Erstellen Sie Sicherungen mit COMPRESSION und CHECKSUM Optionen, um die Größe von Sicherungsdateien zu verringern und die Migration einer beschädigten Datenbank zu verhindern.
  • Nehmen Sie Sicherungen in kleineren Batches vor.
  • Verwenden Sie parallele Uploadthreads.
  • Erstellen Sie die letzte Sicherungsdatei so klein wie möglich.
  • Wenn Sie mehrere Datenbanken mithilfe desselben Azure Blob Storage-Containers migrieren möchten, platzieren Sie alle Sicherungsdateien für eine einzelne Datenbank in einem separaten Ordner im Container. Verwenden Sie für jeden Datenbankordner eine Flatfilestruktur. Das Schachteln von Ordnern innerhalb von Datenbankordnern wird nicht unterstützt.

Erstellen von Sicherungen für eine SQL Server Instanz

Die Schritte in diesem Abschnitt zeigen, wie Sie lokal sichern, aber es ist auch möglich, direkt auf die URL zu sichern.

Legen Sie für Datenbanken, die Sie migrieren möchten, den Modus für die vollständige Wiederherstellung fest, um Protokollsicherungen zuzulassen.

-- To permit log backups, before the full database backup, modify the database to use the full recovery
USE master;

ALTER DATABASE SampleDB
SET RECOVERY FULL;
GO

Wenn Sie noch nicht über vorhandene Sicherungen verfügen, verwenden Sie die folgenden T-SQL-Beispielskripts, um vollständige, differenzielle und protokollierte Sicherungen Ihrer Datenbank im lokalen Speicher manuell zu erstellen. CHECKSUM ist nicht erforderlich, aber es wird empfohlen, die Migration einer beschädigten Datenbank für schnellere Wiederherstellungszeiten zu verhindern.

Im folgenden Beispiel wird eine vollständige Datenbanksicherung auf dem lokalen Datenträger ausgeführt:

-- Take full database backup to local disk
BACKUP DATABASE [SampleDB]
    TO DISK = 'C:\BACKUP\SampleDB_full.bak'
    WITH INIT, COMPRESSION, CHECKSUM;
GO

Im folgenden Beispiel wird eine differenzielle Sicherung auf dem lokalen Datenträger ausgeführt:

-- Take differential database backup to local disk
BACKUP DATABASE [SampleDB]
    TO DISK = 'C:\BACKUP\SampleDB_diff.bak'
    WITH DIFFERENTIAL, COMPRESSION, CHECKSUM;
GO

Im folgenden Beispiel wird eine Transaktionsprotokollsicherung auf dem lokalen Datenträger ausgeführt:

-- Take transactional log backup to local disk
BACKUP LOG [SampleDB]
    TO DISK = 'C:\BACKUP\SampleDB_log.trn'
    WITH COMPRESSION, CHECKSUM;
GO

Kopieren von Sicherungen in Ihr Blob Storage Konto

Nachdem Ihre Sicherungen fertig sind und Sie mit der Migration von Datenbanken zu einer SQL Server VM beginnen möchten, verwenden Sie die folgenden Ansätze, um vorhandene Sicherungen in Ihr Blob Storage Konto zu kopieren:

Hinweis

Wenn Sie mehrere Datenbanken mithilfe desselben Azure Blob Storage-Containers migrieren möchten, platzieren Sie alle Sicherungsdateien für eine einzelne Datenbank in einem separaten Ordner im Container. Verwenden Sie für jeden Datenbankordner eine Flatfilestruktur. Das Schachteln von Ordnern innerhalb von Datenbankordnern wird nicht unterstützt.

Überprüfen Sie den Speicherzugriff der SQL Server-VM

Überprüfen Sie, ob Ihre SQL Server VM auf Ihr Blob Storage Konto zugreifen kann.

Laden Sie zunächst eine Datenbanksicherung, z. B. full_0_0.bak, in Ihren Azure Blob Storage Container hoch.

Stellen Sie als Nächstes eine Verbindung mit Ihrem SQL Server virtuellen Computer her, und führen Sie eine Beispieltestabfrage aus, um festzustellen, ob Ihre SQL Server VM auf die Sicherung im Container zugreifen kann.

Wenn Sie ein SAS-Token für die Authentifizierung bei Ihrem Speicherkonto verwenden, ersetzen Sie die <sastoken> durch Ihr SAS-Token, und führen Sie die folgende Abfrage auf Ihrem SQL Server virtuellen Computer aus:

CREATE CREDENTIAL [https://<mystorageaccountname>.blob.core.windows.net/databases]
    WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
    SECRET = '<sastoken>';

RESTORE HEADERONLY
    FROM URL = 'https://<mystorageaccountname>.blob.core.windows.net/<containername>/full_0_0.bak';

Registrieren SQL Server VMs mit der SQL IaaS-Agent-Erweiterung

Wenn Ihr Ziel-SQL-Server-VM bereits vorhanden ist, müssen Sie es mit der SQL-IaaS-Agent-Erweiterung registrieren, bevor Sie es im Azure-Portal als Migrationsziel auswählen können. Wenn Ihr Ziel SQL Server VM noch nicht vorhanden ist, können Sie während des Migrationsprozesses eine neue bereitstellen, und sie wird automatisch bei der SQL IaaS-Agent-Erweiterung registriert.

Einschränkungen

Beachten Sie die folgenden Einschränkungen, wenn Sie Ihre SQL Server-Datenbanken über das Azure-Portal auf SQL Server auf Azure VMs migrieren.

  • Wenn Sie eine einzelne Datenbank migrieren, müssen Sie die Datenbanksicherungen in einer flachen Dateistruktur in einem Datenbankordner (einschließlich Containerstammordner) platzieren. Sie können diese Ordner nicht verschachteln, da die Verschachtelung nicht unterstützt wird.
  • Wenn Sie mehrere Datenbanken mit demselben Azure Blob Storage-Container migrieren, müssen Sie Sicherungsdateien für verschiedene Datenbanken in separaten Ordnern im Container platzieren.
  • Vorhandene Datenbanken in Ihrem Ziel-SQL Server können nicht mit DMS auf einem virtuellen Azure überschrieben werden.
  • Die SQL Server-Migration unterstützt nicht die Konfiguration von Hochverfügbarkeit und Notfallwiederherstellung auf Ihrem Ziel, um der Quelltopologie zu entsprechen.
  • Die folgenden Serverobjekte werden nicht unterstützt:
    • SQL Server-Agent Aufträge
    • Zugangsdaten
    • SQL Server Integration Services(SSIS)-Pakete
    • Serverüberwachung
  • Sie können keine vorhandene selbst gehostete Integrationslaufzeit verwenden, die aus Azure Data Factory (ADF) für Datenbankmigrationen mit DMS erstellt wurde.
  • VMs mit Zielversionen von SQL Server 2008 und älter werden beim Migrieren zu SQL Server auf einer Azure VM nicht unterstützt.
  • Die Registrierung mit der SQL IaaS-Agent-Erweiterung ist für die Migration erforderlich. Die Erweiterung unterstützt nur eine Standardinstanz oder eine einzelne benannte Instanz.
  • Sie können maximal 100 Datenbanken auf dieselbe Azure VM migrieren wie das Ziel, indem Sie eine oder mehrere Migrationen gleichzeitig verwenden. Nachdem eine Migration mit 100 Datenbanken abgeschlossen ist, warten Sie außerdem mindestens 30 Minuten, bevor Sie eine neue Migration mit demselben SQL Server auf einer Azure VM wie das Ziel starten. Jeder Migrationsvorgang (Migrationsstart, Cutover) für jede Datenbank dauert nacheinander jeweils einige Minuten. Zum Migrieren von 100 Datenbanken kann es beispielsweise ungefähr 200 (2 x 100) Minuten dauern, um die Migrationswarteschlangen zu erstellen, und etwa 100 (1 x 100) Minuten, um für alle 100 Datenbanken die Umstellung durchzuführen (ohne Sicherungs- und Wiederherstellungsdauer). Daher wird die Migration langsamer, wenn die Anzahl der Datenbanken zunimmt. Sie sollten entweder ein längeres Migrationsfenster im Voraus basierend auf strengen Migrationstests planen oder große Anzahl von Datenbanken in Batches partitionieren, wenn sie zu SQL Server auf einer Azure VM migriert werden.
  • Neben der Konfiguration der Netzwerk-/Firewall Ihres Azure Storage-Kontos, damit Ihre VM auf Sicherungsdateien zugreifen kann, müssen Sie auch die Netzwerk-/Firewall Ihrer SQL Server auf einer Azure VM konfigurieren, um ausgehende Verbindungen mit Ihrem Speicherkonto zu ermöglichen.
  • Sie müssen das Ziel Azure VM eingeschaltet lassen, während die SQL Server Migration ausgeführt wird. Außerdem sollten Sie, wenn Sie eine neue Migration erstellen, entweder ein Failover ausführen oder alle Migrationen, die gerade laufen, abbrechen.

Nächster Schritt