Importieren oder Exportieren einer Azure SQL-Datenbank-Instanz mit Private Link

Gilt für:Azure SQL-Datenbank

Zum Ausführen von Import- oder Exportvorgängen über Azure PowerShell oder das Azure-Portal müssen Sie die Option Zugriff auf Azure-Dienste zulassen auf EIN festlegen. Andernfalls tritt beim Import-/Exportvorgang ein Fehler auf. Häufig möchten Benutzer*innen Import- oder Exportvorgänge über einen privaten Endpunkt durchführen, ohne dass alle Azure-Dienste Zugriff benötigen. In diesem Artikel wird erläutert, wie Sie eine Azure SQL-Datenbank-Instanz unter Verwendung von Private Link importieren oder exportieren, wenn Azure-Dienste zulassen für den logischen Azure SQL-Server auf AUS festgelegt ist.

Hinweis

Das Importieren/Exportieren mit Private Link für Azure SQL-Datenbank befindet sich derzeit in der Vorschau.

Das Importieren/Exportieren von Datenbanken mit Private Link ist ein von Microsoft erstellter dienstseitig verwalteter privater Endpunkt, der ausschließlich vom Import-/Exportprozess, Azure SQL-Datenbank und den zugehörigen Azure Storage-Diensten für die gesamte Kommunikation verwendet wird. Ein vom Dienst verwalteter privater Endpunkt ist eine private IP-Adresse in einem bestimmten virtuellen Netzwerk und Subnetz. Der private Endpunkt muss von den Benutzer*innen im Azure-Portal für Server und Speicher manuell genehmigt werden.

Diagram of Import Export Private link architecture.

das Importieren/Exportieren mit Private Link kann über das Azure-Portal, mit PowerShell oder mithilfe der REST-API konfiguriert werden.

  1. Wechseln Sie zur Seite Übersicht des logischen Azure SQL-Servers, auf den Sie die Datenbank importieren möchten. Wählen Sie auf der Symbolleiste Datenbank importieren aus.
  2. Aktivieren Sie auf der Seite Datenbank importieren das Kontrollkästchen Private Link verwenden. Screenshot from the Azure portal that shows how to enable Import Private link.
  3. Geben Sie das Speicherkonto, die Anmeldeinformationen für die Authentifizierung und die Datenbankdetails ein, und wählen Sie OK aus.
  1. Wechseln Sie zur Seite Übersicht der Azure SQL-Datenbank-Instanz, die Sie exportieren möchten. Wählen Sie auf der Symbolleiste Exportieren aus.
  2. Aktivieren Sie auf der Seite Datenbank exportieren das Kontrollkästchen Private Link verwenden. Screenshot from the Azure portal that shows how to enable Export Private Link.
  3. Geben Sie das Speicherkonto, die Anmeldeinformationen für die Authentifizierung und die Datenbankdetails ein, und wählen Sie OK aus.

2. Genehmigen privater Endpunkte

  1. Navigieren Sie im Azure-Portal zu Private Link Center. Suchen Sie Azure-Suchfeld nach „Private Link“.
  2. Navigieren Sie zur Seite Private Endpunkte in Private Link Center.
  3. Genehmigen Sie die privaten Endpunkte, die Sie mithilfe des Import/Export-Diensts erstellt haben.

Genehmigen von Verbindungen mit privaten Endpunkten in Azure SQL-Datenbank

  1. Wechseln Sie zu dem logischen Azure SQL-Server, der die Datenbank hostet.
  2. Navigieren Sie zur Seite Netzwerk unter Sicherheit.
  3. Wählen Sie die Registerkarte Privater Zugriff aus.
  4. Wählen Sie den privaten Endpunkt aus, den Sie genehmigen möchten.
  5. Wählen Sie Genehmigen aus, um die Verbindung zu genehmigen.

Screenshot from the Azure portal that shows how to approve Azure SQL Database Private Link.

Genehmigen von Verbindungen mit privaten Endpunkten in Azure Storage

  1. Navigieren Sie zu dem Speicherkonto, das den Blobcontainer mit der BACPAC-Datei hostet.
  2. Öffnen Sie im Menü Sicherheit die Seite Verbindungen mit privaten Endpunkten.
  3. Wählen Sie den privaten Endpunkt für den Import/Export-Dienst aus.
  4. Wählen Sie Genehmigen aus, um die Verbindung zu genehmigen.

Screenshot from the Azure portal that shows how to approve Azure Storage Private Link in Azure Storage.

3. Überprüfen des Import-/Exportstatus

  1. Nachdem die privaten Endpunkte sowohl auf dem Azure SQL-Server als auch im Azure Storage-Konto genehmigt wurden, wird der Import- oder Exportauftrag für die Datenbank gestartet. Bis dahin werden die Aufträge zurückgestellt.
  2. Sie können den Status der Import- oder Exportaufträge auf der Seite Import-/Exportverlauf im Abschnitt Datenverwaltung auf der Seite des Azure SQL-Servers überprüfen. Screenshot from the Azure portal that shows how to check Import Export Jobs Status.

Verwenden Sie das Cmdlet New-AzSqlDatabaseImport, um eine Anforderung für einen Datenbankimport an Azure zu übermitteln. Je nach Größe der Datenbank nimmt der Importvorgang einige Zeit in Anspruch. Das DTU-basierte Bereitstellungsmodell unterstützt ausgewählte Werte für die maximale Datenbankgröße für jede Ebene. Verwenden Sie beim Importieren einer Datenbank einen dieser unterstützten Werte.

$importRequest = New-AzSqlDatabaseImport -ResourceGroupName "<resourceGroupName>" `
        -ServerName "<serverName>" -DatabaseName "<databaseName>" `
        -DatabaseMaxSizeBytes "<databaseSizeInBytes>" -StorageKeyType "StorageAccessKey" `
        -StorageKey $(Get-AzStorageAccountKey -ResourceGroupName $resourceGroupName `
                        -StorageAccountName "<storageAccountName>").Value[0]
        -StorageUri "https://myStorageAccount.blob.core.windows.net/importsample/sample.bacpac" `
        -Edition "Standard" -ServiceObjectiveName "P6" ` -UseNetworkIsolation $true `
        -StorageAccountResourceIdForPrivateLink "/subscriptions/<subscriptionId>/resourcegroups/<resource_group_name>/providers/Microsoft.Storage/storageAccounts/<storage_account_name>" `
         -SqlServerResourceIdForPrivateLink "/subscriptions/<subscriptionId>/resourceGroups/<resource_group_name>/providers/Microsoft.Sql/servers/<server_name>" `
        -AdministratorLogin "<userID>" `
        -AdministratorLoginPassword $(ConvertTo-SecureString -String "<password>" -AsPlainText -Force)

Verwenden Sie das Cmdlet New-AzSqlDatabaseExport, um eine Anforderung für einen Datenbankexport beim Azure SQL-Datenbank-Dienst einzureichen. Je nach Größe Ihrer Datenbank kann es einige Zeit dauern, bis der Exportvorgang abgeschlossen ist.

$importRequest = New-AzSqlDatabaseExport -ResourceGroupName "<resourceGroupName>" `
        -ServerName "<serverName>" -DatabaseName "<databaseName>" `
        -DatabaseMaxSizeBytes "<databaseSizeInBytes>" -StorageKeyType "StorageAccessKey" `
        -StorageKey $(Get-AzStorageAccountKey -ResourceGroupName $resourceGroupName `
                        -StorageAccountName "<storageAccountName>").Value[0]
        -StorageUri "https://myStorageAccount.blob.core.windows.net/importsample/sample.bacpac" `
        -Edition "Standard" -ServiceObjectiveName "P6" ` -UseNetworkIsolation $true `
        -StorageAccountResourceIdForPrivateLink "/subscriptions/<subscriptionId>/resourcegroups/<resource_group_name>/providers/Microsoft.Storage/storageAccounts/<storage_account_name>" `
         -SqlServerResourceIdForPrivateLink "/subscriptions/<subscriptionId>/resourceGroups/<resource_group_name>/providers/Microsoft.Sql/servers/<server_name>" `
        -AdministratorLogin "<userID>" `
        -AdministratorLoginPassword $(ConvertTo-SecureString -String "<password>" -AsPlainText -Force)

Vorhandene APIs zum Ausführen von Import- und Exportaufträgen wurden verbessert, um Private Link zu unterstützen. Weitere Informationen finden Sie im Abschnitt zum Importieren der Datenbank-API.

Begrenzungen

Derzeit gelten für Imports/Exports mit Private Link die folgenden Einschränkungen:

  • Für die Verwendung von Private Link für Import-/Exportvorgänge müssen die Benutzerdatenbank und der Azure Storage-Blobcontainer im gleichen Azure Cloud-Typ gehostet werden. Beispielsweise entweder beides in Azure Commercial oder beides in Azure Gov. Cloudtypenübergreifendes Hosting wird nicht unterstützt.

  • Der Import oder Export einer Datenbank aus Azure SQL Managed Instance mithilfe von PowerShell wird derzeit nicht unterstützt.

  • Imports/Exports mit Private Link sollten nicht verwendet werden, wenn die Benutzerdatenbank oder das Azure Storage-Konto durch Ressourcensperren geschützt sind.

  • Zum Abschluss des Exportvorgangs ist eine manuelle Genehmigung der neuen Verbindung mit dem privaten Endpunkt erforderlich. Nachdem Sie den Export gestartet haben, wechseln Sie in Private Link Center zu „Ausstehende Verbindungen“ und genehmigen die Verbindungen. Es kann einige Minuten dauern kann, bis sie angezeigt werden.

  • Für Importvorgänge mit Private Link wird beim Erstellen einer neuen Datenbank die Angabe einer Sicherungsspeicherredundanz nicht unterstützt, sondern Redundanz wird mit dem standardmäßigen georedundanten Sicherungsspeicher erstellt. Um dieses Problem zu umgehen, erstellen Sie zunächst eine leere Datenbank mit der gewünschten Sicherungsspeicherredundanz über das Azure-Portal oder mit PowerShell und importieren dann die BACPAC-Datei in diese leere Datenbank.

  • Der Importvorgang unter Verwendung der REST-API mit Private Link kann nur in eine vorhandene Datenbank erfolgen, da die API Datenbankerweiterungen verwendet. Erstellen Sie als Problemumgehung eine leere Datenbank mit dem gewünschten Namen, und rufen Sie dann die Import-REST-API mit Private Link auf.

Nächste Schritte