Partager via


Importer ou exporter une base de données Azure SQL Database en utilisant une liaison privée

S’applique à :Azure SQL Database

Cet article explique comment importer ou exporter une base de données Azure SQL Database en utilisant Private Link via le Portail Azure ou Azure PowerShell avec l’option Autoriser l’accès aux services Azure définie sur DÉSACTIVÉE sur le serveur logique Azure SQL.

L’exécution de l’importation ou de l’exportation nécessite que vous définissiez Autoriser l’accès aux services Azure à ON, sinon l’opération d’importation ou d’exportation échoue avec une erreur.

Remarque

L’importation/exportation en utilisant une liaison privée pour Azure SQL Database est actuellement en préversion.

La liaison privée d’importation/exportation de base de données est un point de terminaison privé géré par le service créé par Microsoft. Lorsqu’elle est activée, une liaison privée est utilisée exclusivement pour toutes les communications par le processus d’importation/exportation de la base de données, de la base de données Azure SQL et des services de stockage Azure associés. Un point de terminaison privé géré par le service est une adresse IP privée au sein d’un réseau virtuel et d’un sous-réseau spécifiques.

Le point de terminaison privé doit être approuvé manuellement pour le serveur logique Azure SQL et le compte de stockage Blob Azure, en étapes distinctes, avec des détails inclus dans ce tutoriel.

Diagramme de l’architecture de liaison privée d’importation/exportation.

Une liaison privée d’importation exportation peut être configurée via le Portail Azure, PowerShell ou l’API REST.

Vous devez activer et approuver la liaison privée d’importation. La création de la liaison privée est effectuée automatiquement dans Azure.

  1. Accédez à la page Vue d’ensemble du serveur logique Azure SQL dans lequel vous voulez importer la base de données. Sélectionnez Importer une base de données dans la barre d’outils.
  2. Dans la page Importer une base de données, cochez la case Utiliser une liaison privée.
  3. Entrez le compte de stockage, les informations d’identification pour l’authentification, les détails de la base de données, puis sélectionnez OK.

Vous devez activer et approuver la liaison privée d’exportation. La création de la liaison privée est effectuée automatiquement dans Azure.

  1. Accédez à la page Vue d’ensemble de la base de données Azure SQL que vous voulez exporter. Sélectionnez Exporter dans la barre d’outils.
  2. Dans la page Exporter une base de données, cochez la case Utiliser une liaison privée.
  3. Entrez le compte de stockage, les informations d’identification pour l’authentification, les détails de la base de données, puis sélectionnez OK.

Le nouveau point de terminaison privé doit être approuvé par l’utilisateur dans le Centre Private Link ou dans Azure SQL Database, ou vous pouvez approuver les deux liens privés individuellement dans leurs emplacements respectifs du portail Azure.

  1. Accédez au Centre Private Link dans le portail Azure. Dans la barre de recherche Azure, recherchez « Private Link ». Sélectionnez Lien Privé.

  2. Dans le Centre de Liaison Privée, sélectionnez Connexions en attente.

  3. Sélectionnez les deux points de terminaison privés que vous avez créés à l’aide du service Import/Export. Sélectionnez Approuver.

    Capture d’écran du Centre Private Link du portail Azure montrant comment approuver les deux liaisons privées.

Option 2 : Approuver les connexions de point de terminaison privé séparément dans le portail Azure

  1. Accédez au serveur logique Azure SQL qui héberge la base de données.

  2. Dans le menu des ressources sous Sécurité, sélectionnez Réseau.

  3. Sélectionnez l’onglet Accès privé.

  4. Dans la liste sous points de terminaison privés, sélectionnez les points de terminaison privés que vous avez créés à l’aide du service Import/Export.

  5. Sélectionnez Approuver.

    Capture d’écran du portail Azure montrant comment approuver une liaison privée avec Azure SQL Database.

  6. Accédez au compte de stockage qui héberge le conteneur d’objets blob contenant le fichier BACPAC (.bacpac).

  7. Sous Sécurité + Mise en réseau, sélectionnez Mise en réseau.

  8. Sélectionnez l’onglet connexions privées de points de terminaison.

  9. Dans la liste, sélectionnez le point de terminaison privé du service d’importation/exportation.

  10. Sélectionnez Approuver pour approuver la connexion.

    Capture d’écran du portail Azure montrant comment approuver une liaison privée de Stockage Azure dans Stockage Azure.

3. Vérifier l’état d’importation/exportation

  1. Une fois les points de terminaison privés approuvés, à la fois dans le serveur Azure SQL et dans le compte de stockage Azure, le travail d’importation ou d’exportation de base de données est lancé. Jusqu’à présent, les travaux sont en attente.
  2. Vous pouvez vérifier l’état des travaux d’importation ou d’exportation de base de données dans la page Historique d’importation/exportation sous la section Gestion des données de la page du serveur Azure SQL. Capture d’écran du portail Azure montrant comment vérifier l’état des travaux d’importation/exportation.

Utilisez l’applet de commande New-AzSqlDatabaseImport pour soumettre une demande d’importation de base de données à Azure. Selon la taille de la base de données, l’importation peut prendre un certain temps avant d’aboutir. Le modèle d’approvisionnement basé sur DTU prend en charge la sélection des valeurs de taille maximale de base de données pour chaque niveau. Lors de l’importation d’une base de données, utiliser les valeurs d’édition et d’objectif de service compatibles pour Azure SQL Database.

Fournissez votre propre <values> dans l’exemple de code PowerShell suivant, qui importe un fichier .bacpac nommé sample.bacpac et crée une base de données Azure SQL Avec 2 vCores à usage général.

$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

Utilisez la cmdlet New-AzSqlDatabaseExport pour soumettre une requête d’exportation de base de données au service Azure SQL Database. Selon la taille de votre base de données, l’opération d’exportation peut prendre plus ou moins longtemps.

Fournissez votre propre <values> dans l’exemple de code PowerShell suivant :

$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

Les API existantes pour effectuer des travaux d’importation et d’exportation prennent en charge Private Link. Consultez Importer une API de base de données.

Limites

Actuellement, la liaison privée pour l’importation/exportation a les limitations suivantes :

  • Pour utiliser une liaison privée avec une importation/exportation, la base de données utilisateur et le conteneur d’objets blob du Stockage Azure doivent être hébergés sur le même type de cloud Azure. (par exemple, soit les deux dans Azure Commercial, soit les deux sur Azure Gov). L’hébergement sur plusieurs types de cloud n’est pas pris en charge.

  • L’importation et l’exportation d’une base de données à partir d’Azure SQL Managed Instance à l’aide de PowerShell ne sont pas prises en charge pour le moment.

  • Une liaison privée d’importation/exportation ne doit pas être utilisée quand la base de données utilisateur ou le compte de stockage Azure sont protégés par des verrous de ressources.

  • Une approbation manuelle de la nouvelle connexion de point de terminaison privé est nécessaire pour effectuer l’opération d’exportation. Après avoir démarré l’exportation, accédez à « Connexions en attente » dans le Centre Private Link et approuvez les connexions, dont l’affichage peut prendre plusieurs minutes.

  • L’importation à l’aide d’une liaison privée ne prend pas en charge la spécification d’une redondance de stockage de sauvegarde lors de la création d’une base de données et la création s’effectue avec la redondance de stockage de sauvegarde géo-redondante par défaut. Pour contourner ce problème, commencez par créer une base de données vide avec la redondance de stockage de sauvegarde souhaitée en utilisant le portail Azure ou PowerShell, puis importez le fichier BACPAC dans cette base de données vide.

  • L’importation en utilisant l’API REST avec une liaison privée peut être effectuée seulement sur une base de données existante, car l’API utilise des extensions de base de données. Pour contourner ce problème, créez une base de données vide avec le nom souhaité, puis appelez l’API REST d’importation avec une liaison privée.