Migrer Azure SQL Database vers la prise en charge des zones de disponibilité
Ce guide explique comment migrer une base de données Azure SQL Database de la non-prise en charge des zones de disponibilité vers leur prise en charge.
L’activation de la redondance de zone pour Azure SQL Database garantit une haute disponibilité, car la base de données utilise des zones de disponibilité Azure pour répliquer des données entre plusieurs emplacements physiques dans une région Azure. En sélectionnant la redondance de zone, vous pouvez rendre vos bases de données et vos pools élastiques résilients à un ensemble de défaillances beaucoup plus important, notamment les pannes graves de centre de données, sans aucune modification de la logique d’application.
Prérequis
Avant de migrer vers la prise en charge des zones de disponibilité, reportez-vous au tableau suivant pour vous assurer que votre base de données Azure SQL Database se trouve dans un modèle de déploiement et de niveau de service pris en charge. Assurez-vous que votre niveau et votre modèle sont proposés dans une région qui prend en charge les zones de disponibilité.
Niveau de service | Modèle de déploiement | Disponibilité de la redondance de zone |
---|---|---|
Premium | Base de données unique ou pool élastique | Toutes les régions prenant en charge les zones de disponibilité |
Critique pour l’entreprise | Base de données unique ou pool élastique | Toutes les régions prenant en charge les zones de disponibilité |
Usage général | Base de données unique ou pool élastique | Régions sélectionnées prenant en charge les zones de disponibilité |
Hyperscale | Base de données unique | Toutes les régions prenant en charge les zones de disponibilité |
Exigences en matière de temps d’arrêt
La migration pour le niveau de service Premium, Critique pour l’entreprise et Usage général est une opération en ligne avec une brève déconnexion vers la fin du processus de migration pour le terminer. Si vous avez implémenté une logique de nouvelles tentatives pour les erreurs temporaires standard, vous ne remarquerez pas le basculement.
Pour le niveau de service Hyperscale, la prise en charge de la redondance de zone ne peut être spécifiée que lors de la création de la base de données et ne peut pas être modifiée une fois la ressource approvisionnée. Si vous souhaitez passer à la prise en charge des zones de disponibilité, vous devez transférer les données avec une copie de base de données, une restauration à un instant dans le passé ou un géoréplica. Si la base de données cible se trouve dans une autre région que la source ou si la redondance du stockage de sauvegarde de la base de données de la cible diffère de celle de la base de données source, le temps d’arrêt est proportionnel à la taille de l’opération de données.
Migration (Premium, Critique pour l’entreprise et Usage général)
Pour les niveaux de service Premium, Critique pour l’entreprise et Usage général, il est possible de migrer vers la redondance de zone.
Pour effectuer la migration d’une base de données unique ou d’un pool élastique, procédez comme suit.
Migrer une base de données unique
Accédez au Portail Azure pour rechercher votre base de données. Recherchez et sélectionnez Base de données SQL.
Sélectionnez la base de données que vous souhaitez migrer.
Sous Paramètres, sélectionnez Calcul + Stockage.
Sélectionnez Oui pour Souhaitez-vous rendre cette base de données redondante interzone ?
Sélectionnez Appliquer.
Attendez de recevoir une notification d’achèvement d’opération dans Notifications dans le menu supérieur du Portail Azure.
Pour vérifier que la redondance de zone est activée, sélectionnez Vue d’ensemble, puis Propriétés.
Dans la section Disponibilité, vérifiez que la redondance de zone est définie sur Activée.
Migrer un pool élastique
Important
L’activation de la prise en charge de la redondance de zone pour les pools élastiques rend toutes les bases de données du pool redondantes interzone.
Accédez au Portail Azure pour rechercher et sélectionner le pool élastique que vous souhaitez migrer.
Sélectionnez Paramètres, puis Configurer.
Sélectionnez Oui pour Souhaitez-vous rendre ce pool élastique redondant interzone ?.
Sélectionnez Enregistrer.
Attendez de recevoir une notification d’achèvement d’opération dans Notifications dans le menu supérieur du Portail Azure.
Pour vérifier que la redondance de zone est activée, sélectionnez Configurer, puis Paramètres de pool.
L’option de redondance interzone doit être définie sur Oui.
Redéploiement (Hyperscale)
Pour le niveau de service Hyperscale, la prise en charge de la redondance de zone ne peut être spécifiée que lors de la création de la base de données et ne peut pas être modifiée une fois la base de données approvisionnée. Pour obtenir une prise en charge de la redondance de zone, vous devez effectuer un transfert de données à partir de votre base de données unique de niveau de service Hyperscale existante. Pour effectuer le transfert et activer l’option de redondance de zone, vous devez créer un clone à l’aide d’une copie de base de données, d’une restauration à un instant dans le passé ou d’un géoréplica.
Points à prendre en considération pour le redéploiement
Il existe deux modes de redéploiement (en ligne et hors connexion) :
Les méthodes de copie de base de données et restauration à un instant dans le passé (mode hors connexion) créent une base de données cohérente de manière transactionnelle à un moment donné. Il en résulte que les modifications de données effectuées une fois l’opération de copie ou de restauration lancée ne sont pas disponibles dans la base de données copiée ou restaurée.
La méthode de géoréplication (mode en ligne) est un redéploiement où les modifications des données de la source sont synchronisées avec la cible.
La chaîne de connexion de l’application doit être mise à jour pour pointer vers la base de données redondante interzone.
Redéployer une base de données unique
Copie de base de données
Pour créer une copie de base de données et activer la redondance de zone avec le Portail Azure, PowerShell ou Azure CLI, suivez les instructions de Copier une copie cohérente au niveau transactionnel d’une base de données dans Azure SQL Database.
Restauration dans le temps
Pour créer une restauration de base de données à un instant dans le passé et activer la redondance de zone avec le Portail Azure, PowerShell ou Azure CLI, suivez les instructions de la section Restauration à un instant dans le passé.
Géo-réplica
Pour créer un géoréplica de la base de données :
Suivez les instructions du Portail Azure, de PowerShell ou d’Azure CLI dans Configurer la géoréplication et le basculement actifs (Azure SQL Database) et activez la redondance de zone sous Calcul + Stockage
Le réplica est amorcé et le temps nécessaire à l’amorçage des données dépend de la taille de la base de données source. Vous pouvez surveiller l’état de l’amorçage dans le Portail Azure ou en exécutant les requêtes TSQL suivantes sur la base de données réplica :
SELECT * FROM sys.dm_geo_replication_link_status; SELECT * FROM sys.dm_operation_status;
À l’issue de l’amorçage de la base de données, effectuez un basculement planifié (aucune perte de données) pour faire de la base de données cible redondante interzone la base de données primaire. Utilisez sys.dm_geo_replication_link_status pour afficher l’état de la géoréplication. Le
replication_state_desc
estCATCH_UP
lorsque la base de données secondaire se trouve dans un état cohérent au niveau transactionnel. Dans la vue de gestion dynamique sys.dm_operation_status, vérifiez que le paramètrestate_desc
est défini surCOMPLETED
à l’issue de l’opération d’amorçage.Mettez à jour le nom du serveur dans les chaînes de connexion pour que l’application reflète la nouvelle base de données redondante interzone.
Pour procéder au nettoyage, pensez à supprimer la base de données non redondante interzone d’origine de la relation de géoréplica. Vous pouvez choisir de la supprimer définitivement.
Désactiver la redondance de zone
Pour désactiver la redondance de zone pour une base de données unique ou un pool élastique, vous pouvez utiliser le portail ou l’API ARM.
Pour désactiver la redondance de zone pour le niveau de service Hyperscale, vous pouvez inverser les étapes décrites dans Redéploiement (Hyperscale).
Pour désactiver la redondance de zone dans le Portail Azure :
Accédez au Portail Azure pour rechercher et sélectionner le pool élastique pour lequel vous souhaitez désactiver la redondance de zone.
Sélectionnez Paramètres, puis Configurer.
Sélectionnez Non pour Souhaitez-vous rendre ce pool élastique redondant interzone ?.
Cliquez sur Enregistrer.
Pour désactiver la redondance de zone avec PowerShell :
Set-AzSqlElasticpool -ResourceGroupName "RSETLEM-AzureSQLDB" -ServerName "rs-az-testserver1" -ElasticPoolName "testep10" -ZoneRedundant:$false
Pour désactiver la redondance de zone avec Azure CLI :
az sql elastic-pool update --resource-group "RSETLEM-AzureSQLDB" --server "rs-az-testserver1" --name "testep10" --zone-redundant false
Pour désactiver la redondance de zone dans ARM, consultez Bases de données : Créer ou mettre à jour dans ARM et utilisez la propriété properties.zoneRedundant
.