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 d’une importation ou d’une exportation implique de définir Autoriser l’accès aux services Azure sur ACTIVÉ, sans quoi l’opération d’importation ou d’exportation échoue avec une erreur. Les utilisateurs veulent souvent effectuer une importation ou une exportation en utilisant un point de terminaison privé sans demander l’accès à tous les services Azure.

Remarque

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

Une liaison privée d’importation/exportation de base de données est un point de terminaison privé managé par un service créé par Microsoft. Elle est utilisée exclusivement pour toutes les communications du processus d’importation/exportation de base de données, pour la base de données Azure SQL et pour les services 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 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.

  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. Capture d’écran du portail Azure montrant comment activer une liaison privée d’importation.
  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.
  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. Capture d’écran du portail Azure montrant comment activer une liaison privée d’exportation.
  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 la base de données Azure SQL Database.

  1. Accédez à Centre Private Link dans le portail Azure. Dans la barre de recherche Azure, recherchez « Private Link ».
  2. Accédez à la page Points de terminaison privés du Centre Private Link.
  3. Approuvez les points de terminaison privés que vous avez créés en utilisant le service Import/Export.

Option 2 : Approuver la connexion de point de terminaison privé sur Azure SQL Database dans le portail Azure

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

  2. Accédez à la page Mise en réseau sous Sécurité

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

  4. Sélectionnez le point de terminaison privé que vous souhaitez approuver.

  5. Sélectionnez Approuver pour approuver la connexion.

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

3. Approuver la connexion de point de terminaison privé sur le Stockage Azure

Approuvez la nouvelle connexion de point de terminaison privé pour le fichier BACPAC d’importation de base de données dans le Stockage Azure.

  1. Accédez au compte de stockage qui héberge le conteneur d’objets blob contenant le fichier BACPAC (.bacpac).
  2. Ouvrez la page Connexions de point de terminaison privé dans le menu Sécurité.
  3. Sélectionnez le point de terminaison privé pour le service Import/Export.
  4. 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.

4. Vérifier l’état de l’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’à ce moment-là, les travaux seront 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 de provisionnement basé sur DTU prend en charge les valeurs de taille maximale de sélection de base de données pour chaque niveau. Lorsque vous importez une base de données, utilisez l’une de ces valeurs prises en charge.

$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)

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.

$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)

Les API existantes servant à effectuer des travaux d’importation et d’exportation ont été améliorées pour prendre en charge les liaisons privées. 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.