Freigeben über


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

Gilt für:: Azure SQL-Datenbank

In diesem Artikel wird erläutert, wie Sie eine Azure SQL-Datenbank-Instanz unter Verwendung von Private Link importieren oder exportieren, indem Sie Azure-Portal oder Azure PowerShell mit Azure-Dienste zulassen, die auf AUS festgelegt sind, für den logischen Azure SQL-Server verwenden.

Zum Ausführen von Import- oder Exportvorgängen 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.

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 für den logischen Azure SQL-Server und für den Azure Blob Storage in separaten Schritten manuell genehmigt werden (Details finden Sie in diesem Tutorial).

Diagramm der Import-/Export-Architektur von Private Link

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 des Azure-Portal, der zeigt, wie Sie den Import mit Privaten Link aktivieren
  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 des Azure-Portal, der zeigt, wie Sie den Export mit Privaten Link aktivieren
  3. Geben Sie das Speicherkonto, die Anmeldeinformationen für die Authentifizierung und die Datenbankdetails ein, und wählen Sie OK aus.

Der neue private Endpunkt muss vom Benutzer im Private Link Center oder in der Azure SQL-Datenbank genehmigt werden.

  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.

Option 2: Genehmigen der Verbindung mit privaten Endpunkten in Azure SQL-Datenbank im Azure-Portal

  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 des Azure-Portals, der zeigt, wie Sie Private Link für Azure SQL-Datenbank genehmigen

3. Genehmigen der Verbindung mit privaten Endpunkten in Azure Storage

Genehmigen Sie die neue Verbindung mit dem privaten Endpunkt für die Import-BACPAC-Datei der Datenbank in Azure Storage.

  1. Navigieren Sie zum Speicherkonto, das den Blobcontainer mit der BACPAC-Datei (.bacpac) 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 des Azure-Portals, der zeigt, wie Sie Private Link in Azure Storage genehmigen

4. Ü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 des Azure-Portal, der zeigt, wie Sie den Status von Import-/Exportaufträgen überprüfen

Verwenden Sie das Cmdlet New-AzSqlDatabaseImport, um eine Anforderung für einen Datenbankimport an Azure zu übermitteln. Je nach Größe der Datenbank kann der Importvorgang einige Zeit in Anspruch nehmen. 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.

$exportRequest = New-AzSqlDatabaseExport -ResourceGroupName "<resourceGroupName>" `
        -ServerName "<serverName>" -DatabaseName "<databaseName>" `
        -StorageKeyType "StorageAccessKey" `
        -StorageKey $(Get-AzStorageAccountKey -ResourceGroupName $resourceGroupName `
                        -StorageAccountName "<storageAccountName>").Value[0]
        -StorageUri "https://myStorageAccount.blob.core.windows.net/importsample/sample.bacpac" `
        -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. Zur Problemumgehung 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.