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

S’applique à : base de données Azure SQL

Cet article vous montre comment configurer la géoréplication active et initier un basculement pour Azure SQL Database en utilisant le portail Azure, PowerShell ou l’interface CLI Azure.

La géoréplication active est configurée par base de données. Pour basculer sur un groupe de bases de données, ou si votre application nécessite un point de terminaison de connexion stable, envisagez plutôt des groupes de basculement.

Prérequis

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 vue d’ensemble du 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 est utilisé uniquement pour la reprise d’activité après sinistre et n’a pas de charges de travail de lecture ou d’écriture, vous pouvez économiser sur les coûts de licence en désignant la base de données de secours lorsque vous configurez une nouvelle relation de géoréplication active. Pour plus d’informations, consultez réplica de secours 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.

    Capture d’écran montrant l’option Configurer la géoréplication.

  3. Sélectionnez votre abonnement de base de données géo-secondaire et votre groupe de ressources.

    Capture d’écran du portail Azure de l’abonnement et du groupe de ressources.

  4. 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.

    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.

  5. Sélectionnez Examiner et créer, vérifiez les informations puis sélectionnez Créer.

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

    Capture d’écran montrant l’état de déploiement de la base de données secondaire.

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

    Capture d’écran montrant l’état de la base de données secondaire après le déploiement.

  8. 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.

    Capture d’écran montrant les géoréplicas et la base de données SQL primaire.

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é.

    Capture d’écran montrant la sélection du basculement forcé dans la liste déroulante.

  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.

Les deux bases de données ne sont pas disponibles, jusqu’à 25 secondes, tandis que les rôles sont basculé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. Sélectionnez 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 qui ne fait pas partie d’une réplication.)

Géoréplication entre abonnements

  • Pour créer une géo-réplica secondaire dans un abonnement différent de l’abonnement du principal dans le même client Microsoft Entra ID, vous pouvez utiliser le portail Azure ou les étapes de cette section.
  • Pour créer un géo-réplica secondaire dans un abonnement différent de l’abonnement du serveur principal dans un autre locataire Microsoft Entra, vous devez utiliser l’authentification SQL et T-SQL, comme décrit dans les étapes décrites dans cette section. L’authentification Microsoft Entra pour Azure SQL pour la géoréplication entre abonnements n’est pas prise en charge lorsqu’un serveur logique se trouve dans un autre locataire Azure
  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 Règles de pare-feu IP Azure SQL Database et Azure Synapse.

  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.