Convertir une base de données existante en Hyperscale

S’applique à :Azure SQL Database

Vous pouvez convertir une base de données existante dans Azure SQL Database en Hyperscale à l’aide du portail Azure, du Azure CLI, de PowerShell ou de Transact-SQL.

Conditions préalables

  • Pour convertir une base de données qui utilise la géoréplication ou qui fait partie d’un groupe de basculement vers Hyperscale, commencez par convertir le réplica principal. Le réplica géo-secondaire est automatiquement converti. Vous pouvez convertir une base de données non Hyperscale géorépliquée en Hyperscale à l’aide de T-SQL, d’API REST, de PowerShell ou de Azure CLI.

  • La conversion directe du niveau de service de base vers Hyperscale n’est pas prise en charge. Pour effectuer cette conversion, commencez par remplacer la base de données par n’importe quel niveau de service autre que Basic (par exemple, Usage général), puis passez à la conversion en Hyperscale.

  • Le déplacement direct d’une base de données d’un pool élastique redondant interzone vers un pool Hyperscale non redondant interzone n’est pas pris en charge. Pour effectuer cette transition, supprimez d’abord la base de données du pool élastique et convertissez-la en base de données autonome. Ensuite, désactivez la redondance de zone pour la base de données. Une fois ces étapes terminées, la base de données peut être ajoutée à un pool Hyperscale non redondant interzone ou existant.

  • Vous pouvez surveiller la progression de la conversion avec T-SQL. Pour exécuter des commandes T-SQL sur votre base de données Azure SQL, utilisez SQL Server Management Studio (SSMS),l’extension MSSQL pour Visual Studio Code, sqlcmd ou votre outil de requête T-SQL favori.

Procéder à la conversion d'une base de données avec des géorépliques

Lorsque vous convertissez une base de données dans une relation de géoréplication , le processus de conversion conserve le lien de géoréplication. Les bases de données primaires et géo-secondaires sont converties en Hyperscale ensemble.

  • Vous devez commencer la conversion à Hyperscale en convertissant le géo-réplica principal. La tentative de conversion d’un réplica géo-secondaire entraîne une erreur : un réplica géo-secondaire « database-name-placeholder » ne peut pas être converti en Hyperscale. Pour convertir les réplicas principaux et géo-secondaires en Hyperscale, réessayez l’opération sur le réplica principal.
  • Réduisez le nombre de réplicas géo-secondaires à un pour amorcer le processus de conversion.
  • La création d’un géoréplica de géoréplica (également appelée « chaînage de géoréplicas ») n’est pas prise en charge dans Hyperscale. Si une configuration de géoréplication chaînée existe, supprimez-la avant de commencer la conversion en Hyperscale.
  • Un basculement planifié n’est pas possible alors que la conversion de la base de données géo-primaire vers Hyperscale est en cours. Il est possible d'opérer un basculement forcé vers un géoréplica secondaire. Toutefois, selon l’état de la conversion lorsque le basculement forcé se produit, le nouveau géo-primaire après le basculement peut utiliser le niveau de service Hyperscale ou son niveau de service d’origine.
  • Si une base de données géo-primaire se trouve dans un pool élastique, vous pouvez la déplacer vers un pool élastique Hyperscale existant dans le cadre de la conversion ou en faire une base de données Hyperscale autonome. Toutefois, si une base de données géo-secondaire se trouve dans un pool élastique, la conversion vers Hyperscale la déplace toujours hors du pool. Vous pouvez déplacer la base de données géo-secondaire vers un pool élastique Hyperscale à une étape distincte une fois la conversion terminée.

Basculement

Le processus de conversion comporte deux étapes : la conversion pendant la mise en ligne de la base de données, puis le basculement vers la nouvelle base de données Hyperscale.

  • Le temps nécessaire pour déplacer une base de données existante vers Hyperscale consiste à copier des données et à relire les modifications apportées dans la base de données source lors de la copie des données. Bien que le temps de copie des données s’adapte approximativement à la taille de la base de données, la vitesse réelle de copie peut varier en raison de facteurs tels que le débit réseau, la bande passante d’E/S, la latence de stockage et la charge de service temporaire. Nous vous recommandons de convertir en Hyperscale pendant une période d’activité d’écriture inférieure afin que le temps de relecture des modifications accumulées soit plus court. Il est recommandé d’utiliser le basculement manuel pour contrôler la phase suivante.

  • Vous avez la possibilité de choisir quand le basculement se produit, dès que la base de données est prête ou manuellement à un moment de votre choix. Par défaut, le processus de conversion vers Hyperscale va basculer automatiquement.

    • Si vous choisissez d’effectuer manuellement le basculement au moment de votre choix, vous disposez de 24 heures pour lancer un basculement manuel à partir du moment où la base de données est prête pour le basculement. Vous pouvez lancer un basculement manuel via le portail Azure, Azure CLI, PowerShell ou T-SQL.
  • Alors que la base de données est dans un état prêt pour le basculement, le système continue de copier et de relire les modifications apportées dans la base de données source, mais passe d’une copie asynchrone à une copie synchrone. Cette copie synchrone peut augmenter la latence d’écriture sous des charges de travail nécessitant beaucoup d’écriture jusqu’à ce que le basculement se produise.

  • Pendant le basculement final vers Hyperscale, vos applications ne subissent qu’une courte période de temps d’arrêt, généralement moins d’une minute.

Vous pouvez surveiller plusieurs phases dans le processus de conversion dans le portail Azure (sur la page de création de rapports de progression), via Azure CLI (az sql db op list), PowerShell (Get-AzSqlDatabaseActivity) ou à l’aide de T-SQL (sys.dm_operation_status).

Lorsque vous convertissez une base de données des niveaux de service Premium ou Critique pour l’entreprise en Hyperscale, le processus déconnecte les connexions clientes existantes pendant la phase 1. Cette déconnexion est similaire à la déconnexion qui se produit lors de la mise à l’échelle de la base de données entre les niveaux de service. Les applications doivent être conçues pour gérer correctement les interruptions de connectivité temporaires en implémentant une logique de nouvelle tentative, comme décrit dans la logique de nouvelle tentative pour les erreurs temporaires.

Convertir une base de données en Hyperscale

Pour convertir une base de données Azure SQL existante en Hyperscale, identifiez d’abord votre objectif de service cible.

Passez en revue les limites de ressources pour les bases de données uniques si vous ne savez pas quel objectif de service convient à votre base de données. Dans de nombreux cas, vous pouvez choisir un objectif de service avec le même nombre de vCores et la même génération de matériel que la base de données d’origine. Si nécessaire, vous pouvez modifier l’objectif de service plus tard avec un temps d'interruption minimal. La facturation pour Hyperscale commence seulement après le basculement.

Sélectionnez l’onglet de votre méthode préférée pour convertir votre base de données :

Le portail Azure vous permet de convertir en Hyperscale en modifiant le niveau de service de votre base de données.

Capture d’écran du panneau calcul + stockage d’une base de données dans Azure SQL Database. La liste déroulante des niveaux de service est élargie, affichant l’option pour le niveau de service Hyperscale.

  1. Accédez à la base de données que vous souhaitez convertir dans le portail Azure.
  2. Dans la barre de navigation de gauche, sélectionnez Informatique + stockage.
  3. Sélectionnez la liste déroulante niveau de service pour développer les options des niveaux de service.
    1. Si vous utilisiez l’offre gratuite Azure SQL Database, sélectionnez le bouton pour supprimer l’offre de base de données gratuite . Vous voyez ensuite la liste déroulante du niveau de service .
  4. Sélectionnez Hyperscale dans la liste déroulante.
  5. Passez en revue le niveau de calcul et choisissez provisionné ou sans serveur.
  6. Passez en revue le mode de transition , un choix spécifique à la conversion en Hyperscale.
    • Le basculement se produit une fois la base de données préparée pour la conversion vers Hyperscale. Le mode basculement détermine quand la connectivité au Azure SQL Database existant est momentanément interrompue pour la conversion en Hyperscale :
      • Le basculement automatique effectue le basculement dès que la base de données Hyperscale est prête.
      • Le basculement manuel vous invite à lancer le basculement au moment de votre choix dans le portail Azure. Cette option est la plus utile pour planifier la transition afin de minimiser l'interruption des activités.
  7. Passez en revue la configuration matérielle listée. Si vous le souhaitez, sélectionnez Modifier la configuration pour sélectionner la configuration matérielle appropriée pour votre charge de travail.
  8. Sélectionnez le curseur vCores si vous souhaitez modifier le nombre de vCores disponibles pour votre base de données sous le niveau de service Hyperscale.
  9. Sélectionnez le curseur Réplicas secondaires à haute disponibilité si vous souhaitez modifier le nombre de réplicas sous le niveau de service Hyperscale.
  10. Sélectionnez Appliquer.
  11. Surveillez la conversion dans le portail Azure.
    1. Accédez à la base de données dans le portail Azure.
    2. Dans la barre de navigation de gauche, sélectionnez Vue d’ensemble.
    3. Passez en revue la section Notifications en bas du volet droit. Si des opérations sont en cours, une boîte de notification s’affiche.
    4. Sélectionnez la zone de notification pour afficher les détails.
    5. Le volet Opérations en cours s’ouvre. Passez en revue les détails des opérations en cours.

Si vous avez sélectionné le basculement manuel, le portail Azure vous présente un bouton Basculement lorsque vous êtes prêt.

Capture d’écran du portail Azure montrant le bouton Basculement dans une conversion Hyperscale.