Basculement de bases de données sur plusieurs comptes

Cette rubrique décrit les étapes nécessaires au basculement de vos bases de données répliquées sur plusieurs comptes appartenant à différentes régions pour la récupération après sinistre.

Note

Seuls les administrateurs de compte (utilisateurs dotés du rôle ACCOUNTADMIN) peuvent activer et gérer le basculement pour une base de données.

Dans ce chapitre :

Interface Web pour la réplication de la base de données et basculement /récupération

Les administrateurs de comptes (utilisateurs ayant le rôle ACCOUNTADMIN) peuvent gérer les actions de réplication et de basculement/restauration dans la nouvelle interface Web ou dans l’interface Web classique.

Nouvelle interface Web

Voir Promouvoir une base de données locale pour obtenir des instructions sur la promotion d’une base de données locale et s’en servir en tant que base de données principale.

Interface Web classique

Utilisez la zone Replication de l’onglet Databases Databases tab dans l’interface Web Snowflake pour effectuer la plupart des actions liées à la configuration et à la gestion de la réplication de la base de données, y compris les actions suivantes :

  • Permettre à une base de données locale de servir de base de données principale.

  • Activer le basculement pour une base de données principale (comptes Business Critical Edition ou versions ultérieures).

  • Actualiser une base de données secondaire, une fois (manuellement) ou de manière répétée (selon un calendrier, à l’aide d’une tâche).

  • Promouvoir une base de données secondaire pour servir de base de données principale (comptes Business Critical Edition ou versions supérieures).

  • Désactiver la réplication et/ou le basculement pour une base de données principale.

Identificateur de compte pour la réplication et le basculement - Commandes SQL

Les exemples d’instructions SQL dans les instructions ci-dessous utilisent un identificateur de compte dans le format, nom_de_l’organisation.nom_de_compte. Toutefois, les identificateurs de compte au format région_snowflake.localisateur_compte sont pris en charge.

Pour plus de détails, voir Identificateur de compte pour la réplication et le basculement.

Conditions préalables

  1. Activez la réplication pour une base de données principale dans un ensemble de comptes.

  2. Créez au moins une base de données secondaire (c.-à-d. un réplica) de la base de données principale dans au moins un des comptes spécifiés à l’étape 1 et actualisez régulièrement (c.-à-d. synchronisez) le réplica avec les dernières mises à jour de la base de données principale.

Pour obtenir des instructions, voir Réplication de bases de données sur plusieurs comptes.

Étape 1 : Visualisation de tous les comptes activés pour la réplication

Interrogez SHOW REPLICATION ACCOUNTS pour afficher la liste des comptes de votre organisation pour lesquels la réplication a été activée.

SHOW REPLICATION ACCOUNTS;

+------------------+---------------------------------+---------------+------------------+---------+-------------------+
| snowflake_region | created_on                      | account_name  | account_locator  | comment | organization_name |
|------------------+---------------------------------+---------------+------------------+---------+-------------------|
| AWS_US_WEST_2    | 2018-11-19 16:11:12.720 -0700   | ACCOUNT1      | MYACCOUNT1       |         | MYORG             |
| AWS_US_EAST_1    | 2019-06-02 14:12:23.192 -0700   | ACCOUNT2      | MYACCOUNT2       |         | MYORG             |
+------------------+---------------------------------+---------------+------------------+---------+-------------------+

Voir la liste complète des IDs de régions Snowflake.

Étape 2 : Activation du basculement pour une base de données principale

Note

Ignorez cette étape si vous avez activé le basculement pour cette base de données principale dans Réplication de bases de données sur plusieurs comptes.

Activez le basculement pour une base de données principale sur un ou plusieurs comptes de votre entreprise à l’aide d’une instruction ALTER DATABASE … ENABLE FAILOVER TO ACCOUNTS . Le réplica de cette base de données principale dans l’un de ces comptes (c’est-à-dire une base de données secondaire) peut être promu pour servir de base de données principale.

Notez que l’activation du basculement pour une base de données principale peut être effectuée avant ou après la création d’un réplica de la base de données principale dans un compte spécifié.

Exemple

Activez le basculement de la base de données principale mydb1 vers les comptes myaccount2 et myaccount3. Dans cet exemple, supposons que la base de données principale soit stockée dans le compte myaccount1 et que les trois comptes appartiennent à l’organisation, myorg. La commande ALTER DATABASE doit être exécutée à partir de myaccount1.

ALTER DATABASE mydb1 ENABLE FAILOVER TO ACCOUNTS myorg.myaccount2, myorg.myaccount3;

Étape 3 : Promotion d’une base de données réplica pour qu’elle devienne une base de données principale

Tout réplica d’une base de données principale peut être promu pour servir de base de données principale en exécutant une instruction ALTER DATABASE … PRIMARY . Une fois promue, la base de données devient accessible en écriture. Dans le même temps, la base de données principale précédente devient une base de données réplica en lecture seule.

Exécutez l’instruction ALTER DATABASE dans le compte contenant la base de données secondaire que vous promouvez.

Note

Pour promouvoir une base de données secondaire, le rôle utilisé pour effectuer l’opération doit disposer du privilège OWNERSHIP sur la base de données.

Exemple

-- Promote a secondary database to serve as the primary database.
ALTER DATABASE mydb1 PRIMARY;

-- Verify that the former secondary database was promoted successfully.
SHOW REPLICATION DATABASES;