Mettre à l’échelle un pool élastique dans Azure SQL Database

S’applique à Azure SQL Database

Cet article décrit comment faire évoluer les ressources de calcul et de stockage disponibles pour les pools élastiques et les bases de données mises en pool dans Azure SQL Database.

Modifier les ressources de calcul (vCores ou DTU)

Après avoir choisi le nombre de vCores ou d’unités de transaction de base de données élastique (eDTU), vous pouvez effectuer un scale-up ou un scale-down d’un pool élastique de façon dynamique en fonction de l’expérience réelle en utilisant l’une des méthodes suivantes :

Impact du changement de niveau de service ou de la remise à l’échelle de la taille de calcul

La modification du niveau de service ou de la taille de calcul d’un pool élastique suit un modèle similaire à celui des bases de données uniques qui implique principalement que le service effectue les étapes suivantes :

  1. Créer une instance de calcul pour le pool élastique

    Une nouvelle instance de calcul est créée pour le pool élastique avec le niveau de service et la taille de calcul demandés. Pour certaines combinaisons de modifications du niveau de service et de la taille de calcul, un réplica de chaque base de données doit être créé dans la nouvelle instance de calcul, ce qui implique de copier des données et peut influencer fortement la latence globale. Malgré tout, les bases de données restent en ligne pendant cette étape et les connexions continuent d’être dirigées vers les bases de données dans l’instance de calcul d’origine.

  2. Basculement de l’acheminement des connexions vers la nouvelle instance de calcul

    Les connexions existantes aux bases de données dans l’instance de calcul d’origine sont supprimées. Toutes les nouvelles connexions sont établies aux bases de données de la nouvelle instance de calcul. Pour certaines combinaisons de modifications du niveau de service et de la taille de calcul, les fichiers de base de données sont détachés, puis rattachés pendant ce basculement. Malgré tout, le basculement peut entraîner une brève interruption de service quand les bases de données ne sont pas en disponibilité générale pendant moins de 30 secondes et souvent pendant quelques secondes seulement. Si des transactions durables actives sont en cours quand des connexions sont supprimées, la durée de cette étape peut prendre plus de temps pour permettre la récupération des transactions abandonnées. La récupération de base de données accélérée permet de réduire l’impact de l’abandon des transactions durables.

Important

Aucune donnée n’est perdue au cours des étapes du workflow.

Latence de modification du niveau de service ou de remise à l’échelle de la taille de calcul

La latence estimée pour modifier le niveau de service, mettre à l’échelle la taille de calcul d’une base de données unique ou d’un pool élastique, déplacer une base de données dans un pool élastique ou hors de celui-ci, ou déplacer une base de données entre des pools élastiques est paramétrée comme suit :

Latence de mise à l’échelle du pool élastique À base, Standard, pool élastique usage général Pour Premium, pool élastique critique pour l’entreprise Pour pools élastiques Hyperscale
De base, standard, pool élastique usage général Proportionnel au nombre de bases de données • Latence proportionnelle à l’espace de base de données utilisé pour la copie des données.
• En général, moins d’une minute par Go d’espace utilisé.
N/A : les bases de données doivent être ajutées individuellement aux pools élastiques Hyperscale. Latence de mise à l’échelle par base de données documentée dans mise à l’échelle des ressources de base de données uniques.
À partir de Premium, pool élastique critique pour l’entreprise • Latence proportionnelle à l’espace de base de données utilisé pour la copie des données.
• En général, moins d’une minute par Go d’espace utilisé.
• Latence proportionnelle à l’espace de base de données utilisé pour la copie des données.
• En général, moins d’une minute par Go d’espace utilisé.
N/A : les bases de données doivent être ajutées individuellement aux pools élastiques Hyperscale. Latence de mise à l’échelle par base de données documentée dans mise à l’échelle des ressources de base de données uniques.
À partir de pools élastiques Hyperscale N/A N/A • Temps de latence constant indépendant de l’espace utilisé.
• En général, moins de 2 minutes.

Remarque

  • En cas de modification du niveau de service ou de mise à l’échelle de la taille de calcul pour un pool élastique, la somme de l’espace utilisé sur toutes les bases de données du pool doit être utilisée pour calculer l’estimation. La latence de mise à l’échelle pour les pools élastiques Hyperscale est indépendante de l’espace utilisé.
  • Pour des pools élastiques standard et à usage général, la latence de déplacement d’une base de données à l’intérieur ou à l’extérieur d’un pool élastique, ou entre des pools élastiques, sera proportionnelle à la taille de la base de données si le pool élastique utilise un stockage de partage de fichiers Premium (PFS). Pour déterminer si un pool utilise un stockage PFS, exécutez la requête suivante dans le contexte d’une base de données quelconque du pool. Si la valeur de la colonne AccountType est PremiumFileStorage ou PremiumFileStorage-ZRS, le pool utilise un stockage PFS.
SELECT s.file_id,
       s.type_desc,
       s.name,
       FILEPROPERTYEX(s.name, 'AccountType') AS AccountType
FROM sys.database_files AS s
WHERE s.type_desc IN ('ROWS', 'LOG');

Remarque

  • La propriété de redondance de zone restera la même par défaut lors de la mise à l’échelle du niveau critique pour l’entreprise au niveau usage général.
  • La latence de l’opération de mise à l’échelle lorsque la redondance de zone est modifiée pour un pool élastique usage général est proportionnelle à la taille de la base de données.
  • La modification d’un pool élastique non Hyperscale existant par l’édition Hyperscale n’est pas prise en charge. Pour en savoir plus, consultez Pools élastiques Hyperscale. Au lieu de cela, les bases de données doivent être ajoutées individuellement aux pools élastiques Hyperscale.
  • La modification de l’édition d’un pool élastique Hyperscale en une édition non Hyperscale n’est pas prise en charge. Pour en savoir plus, consultez Pools élastiques Hyperscale.

Autres considérations liées à la modification du niveau de service ou à la remise à l’échelle de la taille de calcul

  • Quand vous réduisez des vCores ou des eDTU pour un pool élastique, l’espace utilisé par le pool doit être inférieur à la taille maximale des données autorisée du niveau de service cible et de calcul du pool.
  • Quand vous augmentez le nombre d’eDTU pour un pool élastique, un coût de stockage supplémentaire peut s’appliquer dans les cas suivants :
    • La taille maximale des données du pool est prise en charge par le pool cible, et
    • La taille maximale des données du pool dépasse la quantité de stockage incluse du pool cible.
  • Par exemple, si un pool standard de 100 eDTU avec une taille maximale des données de 100 Go est rétrogradé en pool Standard de 50 eDTU, un coût de stockage supplémentaire s’applique, car le pool cible prend en charge une taille des données maximale de 100 Go et la quantité de stockage incluse est de seulement 50 Go. Par conséquent, la quantité de stockage supplémentaire est de 100 Go - 50 Go = 50 Go. Pour la tarification du stockage supplémentaire, consultez Tarification des bases de données SQL. Si la quantité réelle d’espace utilisé est inférieure à la quantité de stockage incluse, ce coût supplémentaire peut être évité en réduisant la taille maximale des données à la quantité incluse.

Facturation pendant la remise à l’échelle

Vous êtes facturé pour chaque heure d’existence de la base de données avec le niveau de service le plus élevé, la taille de calcul appliquée pendant cette heure quel que soit l’usage, ou si la base de données a été active pendant moins d’une heure. Par exemple, si vous avez créé une base de données unique et que vous l’avez supprimée cinq minutes après, votre facture mentionne le coût d’une heure de base de données.

modifier la taille de stockage de pool élastique

La taille de stockage (taille maximale des données) du pool élastique peut être spécifiée à l’aide du portail Azure, de PowerShell, de l’interface Azure CLI ou de l’API REST. Quand vous augmentez la taille maximale des données du pool élastique, la valeur spécifiée ne peut pas dépasser la limite de taille maximale des données de l’objectif de service du pool. Lors de la réduction de la taille maximale des données, la nouvelle valeur spécifiée doit être égale ou supérieure à la somme de l’espace alloué sur toutes les bases de données du pool.

Important

Dans certaines circonstances, vous devriez peut-être réduire une base de données pour récupérer l’espace inutilisé. Pour plus d’informations, consultez Gérer l’espace des fichiers dans Azure SQL Database.

Modèle d’achat vCore

  • La taille de stockage (taille maximale des données) pour les pools élastiques dans les niveaux usage général ou critique pour l’entreprise peut être spécifiée jusqu’aux limites de taille maximale des données spécifiées dans la section Limites de ressources pour les pools élastiques suivant le modèle d’achat vCore. La taille maximale des données du pool élastique peut être augmentée ou réduite par multiples de 1 Go.
  • Le prix du stockage pour un pool élastique est égal à la taille maximale des données spécifiée multipliée par le prix par unité de stockage pour le niveau de service. Pour plus d’informations sur le prix du stockage, consultez Tarification de SQL Database.

Important

Dans certaines circonstances, vous devriez peut-être réduire une base de données pour récupérer l’espace inutilisé. Pour plus d’informations, consultez Gérer l’espace des fichiers dans Azure SQL Database.

Modèle d’achat DTU

  • Le prix des eDTU pour un pool élastique inclut une certaine quantité de stockage sans coût supplémentaire. Le stockage de données supplémentaire dépassant la quantité incluse peut être provisionné moyennant un coût supplémentaire jusqu’à la limite de taille maximale des données correspondant aux eDTU provisionnés. Pour les quantités de stockage et les limites de taille maximale incluses, consultez Limites de ressources pour des pools élastiques suivant le modèle d’achat DTU.
  • Le prix de l’espace de stockage supplémentaire pour un pool élastique est égal à la quantité de stockage supplémentaire multiplié par le prix unitaire du stockage supplémentaire pour le niveau de service. Pour plus d’informations sur le prix du stockage supplémentaire, consultez Tarification des bases de données SQL.
  • Voici les valeurs valides de la taille maximale des données d’un pool élastique de niveau Standard ou Premium : 50 Go, 100 Go, 150 Go, 200 Go, 250 Go, 300 Go, 400 Go, 500 Go, 750 Go, 800 Go, 1024 Go, 1200 Go, 1280 Go, 1536 Go, 1600 Go, 1792 Go, 2000 Go, 2048 Go, 2304 Go, 2500 Go, 2560 Go, 2816 Go, 3000 Go, 3 072 Go, 3328 Go, 3584 Go, 3840 Go, 4096 Go. La taille maximale des données spécifiée ne peut pas dépasser la limite de taille maximale des données spécifiée pour les eDTU provisionnés.

Important

Dans certaines circonstances, vous devriez peut-être réduire une base de données pour récupérer l’espace inutilisé. Pour plus d’informations, consultez Gérer l’espace des fichiers dans Azure SQL Database.

Surveiller ou annuler les modifications de mise à l’échelle

Vous pouvez surveiller et annuler une modification du niveau de service ou une opération de remise à l’échelle du calcul.

Dans le panneau de vue d’ensemble du pool élastique SQL, accédez à Notifications, puis sélectionnez la vignette indiquant qu’une opération est en cours :

Screenshot from the Azure portal of an ongoing deployment in progress.

Dans la page Le déploiement est en cours qui en résulte, sélectionnez Annuler.

Autorisations

Pour mettre à l’échelle un pool élastique via le portail Azure, PowerShell, Azure CLI ou l’API REST, des autorisations Azure RBAC sont nécessaires, en particulier les rôles Azure RBAC Contributeur, Contributeur SQL DB ou Contributeur SQL Server. Pour plus d’informations, consultez Rôles intégrés Azure RBAC.

Pour les limites de ressources globales, consultez SQL Database vCore-based resource limits - elastic pools (limites de ressource vCore SQL Database - pools élastiques) et SQL Database DTU-based resource limits - elastic pools (limites de ressource DTU SQL Database - pools élastiques).