Freigeben über


Importieren oder Exportieren einer Azure SQL-Datenbank, ohne Azure-Diensten Zugriff auf den Server zu erlauben

Gilt für: Azure SQL-Datenbank

In diesem Artikel erfahren Sie, wie Sie eine Azure SQL-Datenbank importieren oder exportieren, wenn Azure-Diensten und -Ressourcen den Zugriff auf diesen Server gestatten auf AUS eingestellt ist. In dem Artikel wird eine virtuelle Azure-Maschine verwendet, auf der SqlPackage ausgeführt wird, um den Import- oder Exportvorgang durchzuführen.

Die Einstellung Azure-Diensten und -Ressourcen den Zugriff auf diesen Server gestatten ist im Azure-Portal unter dem Menü Sicherheit im Ressourcenmenü Netzwerk im Abschnitt Ausnahmen sichtbar. Weitere Informationen zu dieser Einstellung finden Sie unter Netzwerkzugriffssteuerungen für Azure SQL-Datenbank.

Melden Sie sich auf dem Azure-Portal an.

Melden Sie sich beim Azure-Portal an.

Erstellen des virtuellen Azure-Computers

Erstellen Sie einen virtuellen Azure-Computer, indem Sie die Schaltfläche In Azure bereitstellen auswählen.

Diese Vorlage bietet die Möglichkeit, einen einfachen virtuellen Windows-Computer mit einigen wenigen Optionen für die Windows-Version bereitzustellen, wobei die neueste gepatchte Version verwendet wird. Damit wird eine VM der Größe A2 an der Position der Ressourcengruppe bereitgestellt, und es wird der voll qualifizierte Domänenname der virtuellen Maschine zurückgegeben.

Abbildung einer Schaltfläche mit der Bezeichnung „Bereitstellung in Azure“

Weitere Informationen einschließlich einer Azure-Schnellstartvorlage finden Sie unter Bereitstellen einer einfachen Windows-VM.

Verbinden mit dem virtuellen Computer

In den folgenden Schritten wird gezeigt, wie Sie eine Remotedesktopverbindung zu Ihrem virtuellen Computer herstellen.

  1. Navigieren Sie zur VM-Ressource, nachdem die Bereitstellung abgeschlossen wurde.

  2. Wählen Sie Verbinden.

    Eine Formular für eine RDP-Datei (Remotedesktopprotokoll) wird mit der öffentlichen IP-Adresse und der Portnummer für den virtuellen Computer angezeigt.

    Screenshot des Dialogfelds „Mit VM verbinden“ im Azure-Portal und hervorgehobener Option „RDP-Datei herunterladen“

    Hinweis

    Die Verbindung zu einer VM kann auf unterschiedliche Weise hergestellt werden. In diesem Tutorial wird die Verbindung zur VM mit dem Remotedesktopprotokoll (RDP) hergestellt. Eine alternative, neuere Lösung, die gut funktioniert, ist die Herstellung der Verbindung mit Azure Bastion, sofern Sie Bastion in Ihrer Umgebung bereitgestellt haben. Außerdem können Sie die Verbindung zur VM über SSH herstellen.

  3. Wählen Sie RDP-Datei herunterladen aus.

  4. Schließen Sie das Formular Mit virtuellem Computer verbinden.

  5. Öffnen Sie die heruntergeladene RDP-Datei, um eine Verbindung mit Ihrem virtuellen Computer herzustellen.

  6. Wenn Sie dazu aufgefordert werden, wählen Sie Connect aus.

    • Auf einem Macintosh benötigen Sie einen RDP-Client, z. B. diesen Remotedesktopclient aus dem Mac App Store.
  7. Geben Sie den Benutzernamen und das Kennwort ein, den bzw. das Sie beim Erstellen des virtuellen Computers festgelegt haben, und wählen Sie anschließend OK aus.

  8. Während des Anmeldevorgangs wird unter Umständen eine Zertifikatwarnung angezeigt. Wählen Sie Ja bzw. Weiter aus, um mit dem Herstellen der Verbindung fortzufahren.

Installieren von SqlPackage

Laden Sie die aktuelle Version von SqlPackage herunter, und installieren Sie sie. Weitere Informationen finden Sie unter SqlPackage.

Erstellen einer Firewallregel, um dem virtuellen Computer Zugriff auf die Datenbank zu gestatten

Fügen Sie zunächst die öffentliche IP-Adresse der virtuellen Maschine der Firewall des Servers hinzu. Mit den folgenden Schritten wird eine IP-Firewallregel auf Serverebene für die öffentliche IP-Adresse Ihrer virtuellen Maschine erstellt, um eine Verbindung zur virtuellen Maschine zu ermöglichen.

  1. Wählen Sie im Menü auf der linken Seite die Option SQL-Datenbanken und dann auf der Seite SQL-Datenbanken Ihre Datenbank aus. Daraufhin wird die Übersichtsseite für die Datenbank geöffnet. Dort finden Sie den vollqualifizierten Servernamen (z. B. sql-svr.database.windows.net) sowie Optionen für die weitere Konfiguration.

    Screenshot des Azure-Portals mit der Übersichtsseite der Datenbank und hervorgehobenem Servernamen

  2. Kopieren Sie diesen vollqualifizierten Servernamen, damit Sie ihn beim Herstellen der Verbindung mit Ihrem Server und den zugehörigen Datenbanken verwenden können.

  3. Wählen Sie in der Symbolleiste die Option Serverfirewall festlegen.

  4. Wählen Sie auf der Seite Netzwerk auf der Registerkarte Öffentlicher Zugriff im Abschnitt Firewalleinstellungen die Option Client-IPv4-Adresse hinzufügen aus. Dadurch wird die öffentliche IP-Adresse der virtuellen Maschine einer neuen IP-Firewallregel auf Serverebene hinzugefügt. Eine IP-Firewallregel auf Serverebene kann Port 1433 für eine einzelne IP-Adresse oder einen Bereich von IP-Adressen öffnen.

  5. Wählen Sie Speichern aus. Für die öffentliche IP-Adresse des virtuellen Computers wird eine IP-Firewallregel auf Serverebene erstellt, die auf dem Server den Port 1433 öffnet.

Exportieren einer Datenbank mit SqlPackage

Informationen zum Exportieren einer Azure SQL-Datenbank mit dem Befehlszeilenprogramm SqlPackage finden Sie unter Exportparameter und -eigenschaften. Das SqlPackage-Hilfsprogramm ist im Lieferumfang der neuesten Versionen von SQL Server Management Studio und SQL Server Data Tools enthalten. Alternativ dazu können Sie die neueste Version von SqlPackage herunterladen.

Weitere Informationen und Schritte zum Erstellen einer BACPAC-Datei finden Sie unter Exportieren in eine BACPAC-Datei.

Die Verwendung des SqlPackage-Hilfsprogramms wird aus Gründen der Skalierbarkeit und Leistung für die meisten Produktionsumgebungen empfohlen. Einen Blogbeitrag des SQL Server-Kundenberatungsteams zur Migration mithilfe von BACPAC-Dateien finden Sie unter Migrating from SQL Server to Azure SQL Database using BACPAC Files (Migrieren von SQL Server zu Azure SQL-Datenbank mithilfe von BACPAC-Dateien).

In diesem Beispiel wird gezeigt, wie eine Datenbank mithilfe von SqlPackage mit universeller Active Directory-Authentifizierung exportiert wird. Ersetzen Sie die Werte durch die jeweiligen Werte für Ihre Umgebung.

SqlPackage /a:Export /tf:testExport.bacpac /scs:"Data Source=<servername>.database.windows.net;Initial Catalog=MyDB;" /ua:True /tid:"apptest.onmicrosoft.com"

Importieren einer Datenbank mit SqlPackage

Informationen zum Importieren einer SQL Server-Datenbank mit dem Befehlszeilenprogramm SqlPackage finden Sie unter Importparameter und -eigenschaften. SqlPackage gehört zu den neuesten Versionen von SQL Server Management Studio und SQL Server Data Tools. Sie können die neueste Version von SqlPackage auch herunterladen.

Aus Gründen der Skalierbarkeit und Leistung wird die Verwendung von SqlPackage (statt des Azure-Portals) für die meisten Produktionsumgebungen empfohlen. Einen Blogbeitrag des SQL Server-Kundenberatungsteams zur Migration mithilfe von BACPAC-Dateien finden Sie unter Migrating from SQL Server to Azure SQL Database using BACPAC Files (Migrieren von SQL Server zu Azure SQL-Datenbank mithilfe von BACPAC-Dateien).

Mit dem folgenden SqlPackage-Befehl wird die AdventureWorks2022-Datenbank aus dem lokalen Speicher auf einen Azure SQL-Datenbank-Server importiert. Er erstellt eine neue Datenbank namens myMigratedDatabase mit der Premium-Dienstebene und dem Serviceobjekt P6. Ändern Sie diese Werte entsprechend Ihrer Umgebung.

SqlPackage /a:import /tcs:"Data Source=<serverName>.database.windows.net;Initial Catalog=myMigratedDatabase>;User Id=<userId>;Password=<password>" /sf:AdventureWorks2022.bacpac /p:DatabaseEdition=Premium /p:DatabaseServiceObjective=P6

Wichtig

Wenn Sie sich hinter einer Unternehmensfirewall befinden und eine Verbindung mit Azure SQL-Datenbank herstellen möchten, muss Port 1433 der Firewall geöffnet sein.

In diesem Beispiel wird gezeigt, wie eine Datenbank mithilfe von SqlPackage mit universeller Active Directory-Authentifizierung importiert wird.

SqlPackage /a:Import /sf:testExport.bacpac /tdn:NewDacFX /tsn:apptestserver.database.windows.net /ua:True /tid:"apptest.onmicrosoft.com"

Überlegungen zur Leistung

Die Exportgeschwindigkeiten schwanken aufgrund vieler Faktoren (z. B. Form der Daten), sodass keine Vorhersage möglich ist, welche Geschwindigkeit erwartet werden kann. Die Ausführung von SqlPackage kann viel Zeit in Anspruch nehmen, vor allem bei großen Datenbanken.

Um eine optimale Leistung zu erzielen, können Sie Folgendes ausprobieren:

  1. Stellen Sie sicher, dass für die Datenbank keine andere Workload ausgeführt wird. Das Erstellen einer Kopie vor dem Export ist u. U. die beste Lösung, um sicherzustellen, dass keine andere Workload ausgeführt wird.
  2. Erhöhen Sie das Service Level Objective für die Datenbank, um die Verarbeitung der Exportworkload zu verbessern (hauptsächlich Lese-E/A). Wenn die Datenbank zurzeit GP_Gen5_4 ist, kann eine unternehmenskritische Ebene bei der Leseworkload ggf. hilfreich sein.
  3. Stellen Sie sicher, dass gruppierte Indizes vorhanden sind, vor allem für große Tabellen.
  4. Virtuelle Computer (VMs) sollten sich in derselben Region wie die Datenbank befinden, um Netzwerkeinschränkungen zu vermeiden.
  5. VMs sollten über eine SSD mit angemessener Größe zum Erstellen temporärer Artefakte vor dem Hochladen in den Blobspeicher verfügen.
  6. VMs sollten über eine ausreichende Kern- und Arbeitsspeicherkonfiguration für die jeweilige Datenbank verfügen.

Speichern der importierten oder exportierten BACPAC-Datei

Die BACPAC-Datei kann in Azure-Blobs oder Azure Files gespeichert werden.

Verwenden Sie Azure Files, um optimale Leistung zu erzielen. SqlPackage arbeitet mit dem Dateisystem, sodass ein direkter Zugriff auf Azure Files möglich ist.

Verwenden Sie Azure-Blobs, die kostengünstiger sind als eine Azure Premium-Dateifreigabe, um die Kosten zu reduzieren. Allerdings müssen Sie die BACPAC-Datei vor dem Import- oder Exportvorgang zwischen dem Blob und dem lokalen Dateisystem kopieren. Daher nimmt der Prozess mehr Zeit in Anspruch.

Weitere Informationen zum Hochladen oder Herunterladen von BACPAC-Dateien finden Sie unter Übertragen von Daten mit AzCopy und Blobspeicher und Übertragen von Daten mit AzCopy und Dateispeicher.

Abhängig von Ihrer Umgebung müssen Sie u. U. Azure Storage-Firewalls und virtuelle Netzwerke konfigurieren.