Share via


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-Dienste zulassen auf dem Server auf AUS festgelegt ist. Der Workflow verwendet einen virtuellen Azure-Computer, auf dem SqlPackage ausgeführt wird, um den Import- oder Exportvorgang durchzuführen.

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 ein virtueller Computer der Größe A2 an der Position der Ressourcengruppe bereitgestellt, und es wird der voll qualifizierte Domänenname des virtuellen Computers zurückgegeben.

Image showing a button labeled

Weitere Informationen finden Sie unter Sehr einfache Bereitstellung eines virtuellen Windows-Computers.

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.

    Screenshot shows a virtual machine Overview page with a Connect button.

  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 of Azure portal, connect to VM, with download RDP highlighted.

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

    Hinweis

    Sie können für die Verbindung mit Ihrem virtuellen Computer auch SSH verwenden.

  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 die öffentliche IP-Adresse des virtuellen Computers der Firewall des Servers hinzu.

Mit den folgenden Schritten wird eine IP-Firewallregel auf Serverebene für die öffentliche IP-Adresse Ihres virtuellen Computers erstellt, um eine Verbindung zum virtuellen Computer 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. Die Übersichtsseite für Ihre Datenbank wird geöffnet. Diese enthält den vollqualifizierten Servernamen (z. B. servername.database.windows.net) und Optionen für die weitere Konfiguration.

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

    Screenshot of the Azure portal, database overview page, with the server name highlighted.

  3. Wählen Sie in der Symbolleiste die Option Serverfirewall festlegen. Die Seite Firewalleinstellungen für den Server wird geöffnet.

    Screenshot of the Azure portal, showing the firewall page, with server-level IP firewall rule highlighted.

  4. Wählen Sie auf der Symbolleiste die Option Client-IP-Adresse hinzufügen aus, um die öffentliche IP-Adresse des virtuellen Computers zu einer neuen IP-Firewallregel auf Serverebene hinzuzufügen. 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.

  6. Schließen Sie die Seite Firewalleinstellungen.

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.

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

Um von hinter einer Unternehmensfirewall eine Verbindung mit einer Azure SQL-Datenbank herzustellen, muss der 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, insbesondere bei großen Datenbanken.

Um optimale Leistung zu erzielen, können Sie die folgenden Strategien 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-Blobsoder 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 dauert der Prozess länger.

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.

Nächste Schritte