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.

Beim Ausführen des Imports oder Exports müssen Sie Zugriff auf Azure-Dienste zulassen auf ONfestlegen, andernfalls schlägt der Import- oder Exportvorgang fehl.

Hinweis

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

Der private Link zum Importieren/Exportieren der Datenbank ist ein von Microsoft verwalteter privater Endpunkt, der von Microsoft erstellt wurde. Wenn diese Option aktiviert ist, wird ein privater Link ausschließlich für alle Kommunikationen des Datenbankimport-/Exportprozesses, der Azure SQL-Datenbank und zugehöriger Azure Storage-Dienste verwendet. Ein vom Dienst verwalteter privater Endpunkt ist eine private IP-Adresse in einem bestimmten virtuellen Netzwerk und Subnetz.

Der private Endpunkt muss sowohl für den logischen Azure SQL-Server als auch für das Azure Blob Storage-Konto manuell genehmigt werden, in separaten Schritten, mit Details in diesem Lernprogramm.

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.

Sie müssen den privaten Importlink aktivieren und genehmigen. Das Erstellen des privaten Links wird automatisch in Azure ausgeführt.

  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.
  3. Geben Sie das Speicherkonto, die Anmeldeinformationen für die Authentifizierung und die Datenbankdetails ein, und wählen Sie OK aus.

Sie müssen den privaten Exportlink aktivieren und genehmigen. Das Erstellen des privaten Links wird automatisch in Azure ausgeführt.

  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.
  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 entweder im Private Link Center oder in der Azure SQL-Datenbank genehmigt werden, oder Sie können beide privaten Links jeweils an ihren spezifischen Azure-Portalstandorten genehmigen.

  1. Navigieren Sie im Azure-Portal zum Privaten Link Center. Suchen Sie Azure-Suchfeld nach „Private Link“. Wählen Sie privaten Linkaus.

  2. Wählen Sie im Private Link Center ausstehende Verbindungenaus.

  3. Wählen Sie beide privaten Endpunkte aus, die Sie mit dem Import-/Exportdienst erstellt haben. Wählen Sie Genehmigenaus.

    Screenshot aus dem Privaten Link Center des Azure-Portals, der zeigt, wie beide privaten Links genehmigt werden.

Option 2: Genehmigen privater Endpunktverbindungen separat im Azure-Portal

  1. Wechseln Sie zu dem logischen Azure SQL-Server, der die Datenbank hostet.

  2. Wählen Sie im Ressourcenmenü unter Sicherheits-Netzwerk-aus.

  3. Wählen Sie die Registerkarte Privater Zugriff aus.

  4. Wählen Sie in der Liste unter private Endpunktverbindungendie privaten Endpunkte aus, die Sie mit dem Import-/Exportdienst erstellt haben.

  5. Wählen Sie genehmigenaus.

    Screenshot des Azure-Portals, der zeigt, wie Sie Private Link für Azure SQL-Datenbank genehmigen

  6. Navigieren Sie zum Speicherkonto, das den Blobcontainer mit der BACPAC-Datei (.bacpac) hostet.

  7. Wählen Sie unter Security + NetworkingNetworkingaus.

  8. Wählen Sie die Registerkarte Privaten Endpunktverbindungen aus.

  9. Wählen Sie in der Liste den privaten Endpunkt für den Import-/Exportdienst aus.

  10. Wählen Sie Genehmigen aus, um die Verbindung zu genehmigen.

    Screenshot des Azure-Portals, der zeigt, wie Sie Private Link in Azure Storage genehmigen

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 sind die Arbeitsplätze pausiert.
  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 die Auswahl der Maximalen Größenwerte der Datenbank für jede Ebene. Beim Importieren einer Datenbank verwenden die unterstützten Edition- und Dienstzielwerte für die Azure SQL-Datenbank.

Stellen Sie Ihre eigene <values> im folgenden PowerShell-Codebeispiel bereit, das eine Bacpac-Datei namens sample.bacpac importiert und eine Azure SQL-Datenbank mit 2 vCores in der Kategorie Allgemeiner Zweck erstellt.

$importRequestParams = @{
   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                             = "GeneralPurpose"
   ServiceObjectiveName                = "GP_Gen5_2"
   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)
}

$importRequest = New-AzSqlDatabaseImport @importRequestParams

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.

Geben Sie im folgenden PowerShell-Codebeispiel Ihren eigenen <values>-Wert an:

$exportRequestParams = @{
   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)
}

$exportRequest = New-AzSqlDatabaseExport @exportRequestParams

Vorhandene APIs zum Ausführen von Import- und Exportaufträgen unterstützen private Verknüpfungen. 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.