Tutoriel : Configurer la géoréplication active et le basculement (Azure SQL Database)

S’applique à Azure SQL Database

Cet article montre comment configurer la géoréplication active pour Azure SQL Database avec le portail Azure ou Azure CLI et lancer le basculement.

Pour les groupes de basculement, consultez Groupes de basculement avec base de données Azure SQL et Groupes de basculement avec Azure SQL Managed Instance.

Prérequis

Ce didacticiel vous explique comment configurer une base de données pour la géoréplication active. Pour savoir comment créer une base de données unique avec Portail Azure, Azure CLI, Azure CLI (sql up) ou PowerShell, consultez la section Démarrage rapide : Créer une base de données unique - Azure SQL Database.

Ajouter une base de données secondaire

Les étapes suivantes créent une nouvelle base de données secondaire dans un partenariat géo-réplication.

Pour ajouter une base de données secondaire, vous devez être le propriétaire ou copropriétaire de l’abonnement.

La base de données secondaire a le même nom que la base de données primaire et, par défaut, le même niveau de service et la même taille de calcul. La base de données secondaire peut être une base de données unique ou une base de données mise en pool. Pour plus d’informations, consultez Modèle d’achat DTU et Modèle d’achat vCore. Une fois la base de données secondaire créée et amorcée, une réplication des données de la base de données primaire vers la base de données secondaire commence.

Si votre réplica secondaire n'est utilisé que pour la récupération d'urgence (DR) et n'a pas de charge de travail en lecture ou en écriture, vous pouvez réduire les coûts de licence en désignant la base de données comme base de données en attente lorsque vous configurez une nouvelle relation de géoréplication active. Pour en savoir plus, reportez-vous au réplica en attente sans licence.

Remarque

Si la base de données partenaire existe déjà (par exemple, suite à l’arrêt d’une relation de géoréplication précédente), la commande échoue.

  1. Dans le portail Azure, accédez à la base de données que vous souhaitez configurer pour la géo-réplication.

  2. Dans la page Base de données SQL, sélectionnez votre base de données, accédez à Gestion des données, sélectionnez Réplicas, puis sélectionnez Créer un réplica.

    Screenshot that shows the Configure geo-replication option.

  3. Sélectionnez ou créez le serveur pour la base de données secondaire et configurez les options Calcul + stockage, si nécessaire. Vous pouvez sélectionner n’importe quelle région pour votre serveur secondaire, mais nous vous recommandons d’utiliser la région appairée.

    Screenshot that shows the Create and configure replica screen.

    Si vous le souhaitez, vous pouvez ajouter une base de données secondaire à un pool données élastique. Pour créer la base de données secondaire dans un pool, sélectionnez Oui en regard de Vous souhaitez utiliser un pool élastique SQL ? , puis sélectionnez un pool sur le serveur cible. Un pool doit déjà exister sur le serveur cible. Ce workflow ne crée pas un pool.

  4. Cliquez sur Vérifier + créer, passez en revue les informations, puis cliquez sur Créer.

  5. La base de données secondaire est créée et le processus de déploiement commence.

    Screenshot that shows the deployment status of the secondary database.

  6. Quand le déploiement est terminé, la base de données secondaire affiche son état.

    Screenshot that shows the secondary database status after deployment.

  7. Revenez à la page de la base de données primaire, puis sélectionnez Réplicas. Votre base de données secondaire est listée sous Géoreplicas.

    Screenshot that shows the SQL database primary and geo replicas.

Initialisation d’un basculement

La base de données secondaire peut être basculée en base de données primaire.

  1. Dans le portail Azure, accédez à la base de données primaire dans le partenariat de géo-réplication.

  2. Accédez à Gestion des données, puis sélectionnez Réplicas.

  3. Dans la liste Géoréplicas, sélectionnez la base de données qui doit devenir la nouvelle base de données primaire, sélectionnez les points de suspension, puis sélectionnez Basculement forcé.

    Screenshot that shows selecting forced failover from the drop-down.

  4. Sélectionnez Oui pour commencer le basculement.


La commande fait immédiatement basculer la base de données secondaire vers le rôle primaire. Ce processus doit normalement se terminer dans un délai de 30 secondes ou moins.

Il existe une courte période pendant laquelle les deux bases de données ne sont pas disponible, de l’ordre de 0 à 25 secondes, pendant que les rôles sont activés. Si la base de données primaire comporte plusieurs bases de données secondaires, la commande reconfigure automatiquement les autres bases de données secondaires pour qu’elles se connectent à la nouvelle base de données primaire. Toute l’opération devrait prendre moins d’une minute pour se terminer dans des circonstances normales.

Supprimer une base de données secondaire

Cette opération arrête définitivement la réplication vers la base de données secondaire et change le rôle de la base de données secondaire en une base de données normale accessible en lecture et en écriture. Si la connectivité à la base de données secondaire est interrompue, la commande aboutit, mais la base de données secondaire ne passe pas en mode lecture-écriture une fois la connectivité rétablie.

  1. Dans le portail Azure, accédez à la base de données primaire dans le partenariat de géo-réplication.
  2. Sélectionnez Réplicas.
  3. Dans la liste Géoréplicas, sélectionnez la base de données que vous souhaitez supprimer du partenariat de géoréplication, sélectionnez les points de suspension, puis sélectionnez Arrêter la réplication.
  4. Une fenêtre de confirmation s’ouvre. Cliquez sur Oui pour supprimer la base de données de partenariat de géo-réplication (définissez-la sur une base de données en lecture-écriture ne faisant pas partie d’une réplication).

Géoréplication entre abonnements

Utilisez Transact-SQL (T-SQL) pour créer un réplica secondaire de zone géographique dans un abonnement différent de l'abonnement du réplica principal (que ce soit sous le même client de Microsoft Entra ID (anciennement Azure Active Directory) ou non), suivez les étapes de cette section.

  1. Ajoutez l'adresse IP de l'ordinateur client exécutant les commandes T-SQL dans cet exemple aux pare-feu de serveur des serveurs principal et secondaire. Vous pouvez confirmer cette adresse IP en exécutant la requête suivante tout en étant connecté au serveur principal à partir du même ordinateur client.

    select client_net_address from sys.dm_exec_connections where session_id = @@SPID;
    

    Pour plus d’informations, consultez Configurer le pare-feu.

  2. Dans la base de données master sur le serveur principal, créez une connexion d’authentification SQL dédiée à la configuration de la géoréplication active. Ajustez le nom de connexion et le mot de passe si nécessaire.

    create login geodrsetup with password = 'ComplexPassword01';
    
  3. Dans la même base de données, créez un utilisateur pour la connexion, puis ajoutez-le au rôle dbmanager :

    create user geodrsetup for login geodrsetup;
    alter role dbmanager add member geodrsetup;
    
  4. Prenez note de la valeur SID de la nouvelle connexion. Obtenez la valeur SID à l’aide de la requête suivante.

    select sid from sys.sql_logins where name = 'geodrsetup';
    
  5. Connectez-vous à la base de données primaire (et non à la base de données master) et créez un utilisateur pour la même connexion.

    create user geodrsetup for login geodrsetup;
    
  6. Dans la même base de données, ajoutez l’utilisateur au rôle db_owner.

    alter role db_owner add member geodrsetup;
    
  7. Dans la base de données master sur le serveur secondaire, créez la même connexion que sur le serveur principal, en utilisant le même nom, le même mot de passe et le même SID. Remplacez la valeur de SID hexadécimale dans l’exemple de commande ci-dessous par celle obtenue à l’étape 4.

    create login geodrsetup with password = 'ComplexPassword01', sid=0x010600000000006400000000000000001C98F52B95D9C84BBBA8578FACE37C3E;
    
  8. Dans la même base de données, créez un utilisateur pour la connexion, puis ajoutez-le au rôle dbmanager.

    create user geodrsetup for login geodrsetup;
    alter role dbmanager add member geodrsetup;
    
  9. Connectez-vous à la base de données master sur le serveur principal à l’aide de la nouvelle connexion geodrsetup et lancez la création géosecondaire sur le serveur secondaire. Ajustez le nom de la base de données et le nom du serveur secondaire au besoin. Une fois la commande exécutée, vous pouvez superviser la création géosecondaire en interrogeant la vue sys.dm_geo_replication_link_status dans la base de données primaire, et la vue sys.dm_operation_status dans la base de données master sur le serveur principal. Le temps nécessaire à la création d’un géo-réplica secondaire dépend de la taille de la base de données primaire.

    alter database [dbrep] add secondary on server [servername];
    
  10. Une fois la base de données géo-secondaire créée, les utilisateurs, les connexions et les règles de pare-feu créés par cette procédure peuvent être supprimés.

Remarque

Les opérations de géoréplication entre abonnements, y compris la configuration et le basculement, sont uniquement prises en charge via les commandes T-SQL et de l’API REST.

L’ajout d’une instance géo-secondaire à l’aide de T-SQL n’est pas pris en charge lors de la connexion au serveur principal via un point de terminaison privé. Si le point de terminaison privé est configuré mais que l’accès au réseau public est autorisé, l’ajout d’une base de données géosecondaire lors de la connexion au serveur principal à partir d’une adresse IP publique est pris en charge. Une fois la base de données géosecondaire ajoutée, l’accès au réseau public peut être refusé.

La création d’un géo-secondaire sur un serveur logique dans un locataire Microsoft Entra différent n’est pas prise en charge lorsque l’authentification par Microsoft Entra uniquement est activée sur un serveur logique, qu’il soit primaire ou secondaire.

Étapes suivantes