ALTER FAILOVER GROUP¶
Modifie les propriétés d’un groupe de basculement.
À partir du compte source, vous pouvez effectuer les actions suivantes :
Renommez le groupe de basculement.
Réinitialisez la liste des types d’objets spécifiés pour lesquels la réplication et le basculement sont activés.
Définissez ou mettez à jour la planification de la réplication pour l’actualisation automatique des groupes de basculement secondaires.
Ajoutez ou supprimez des objets de compte des types suivants dans ou à partir d’un groupe de basculement :
Bases de données
Partages
Intégrations de sécurité
Intégrations API
Intégrations de stockage
Intégrations d’accès externes
Certains types d’intégrations de notification (voir Réplication d’intégration)
Ajoutez ou supprimez des comptes cibles activés pour la réplication et le basculement.
Déplacez des partages ou des bases de données vers un autre groupe de basculement.
À partir du compte cible, vous pouvez effectuer les actions suivantes :
Actualiser les objets du compte cible à partir du compte source.
Promouvoir un groupe de basculement secondaire en principal (c’est-à-dire basculer le groupe d’objets de basculement).
Suspendre la réplication planifiée.
Reprendre la réplication planifiée.
- Voir aussi :
CREATE FAILOVER GROUP , DROP FAILOVER GROUP , SHOW FAILOVER GROUPS
Syntaxe¶
Compte source
ALTER FAILOVER GROUP [ IF EXISTS ] <name> RENAME TO <new_name>
ALTER FAILOVER GROUP [ IF EXISTS ] <name> SET
[ OBJECT_TYPES = <object_type> [ , <object_type> , ... ] ]
[ ALLOWED_DATABASES = <db_name> [ , <db_name> , ... ] ]
[ ALLOWED_SHARES = <share_name> [ , <share_name> , ... ] ]
ALTER FAILOVER GROUP [ IF EXISTS ] <name> SET
OBJECT_TYPES = INTEGRATIONS [ , <object_type> , ... ]
ALLOWED_INTEGRATION_TYPES = <integration_type_name> [ , <integration_type_name> ... ]
ALTER FAILOVER GROUP [ IF EXISTS ] <name> SET
REPLICATION_SCHEDULE = '{ <num> MINUTE | USING CRON <expr> <time_zone> }'
ALTER FAILOVER GROUP [ IF EXISTS ] <name> SET
TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]
ALTER FAILOVER GROUP [ IF EXISTS ] <name> SET
ERROR_INTEGRATION = <integration_name>
ALTER FAILOVER GROUP [ IF EXISTS ] <name>
ADD <db_name> [ , <db_name> , ... ] TO ALLOWED_DATABASES
ALTER FAILOVER GROUP [ IF EXISTS ] <name>
MOVE DATABASES <db_name> [ , <db_name> , ... ] TO FAILOVER GROUP <move_to_fg_name>
ALTER FAILOVER GROUP [ IF EXISTS ] <name>
REMOVE <db_name> [ , <db_name> , ... ] FROM ALLOWED_DATABASES
ALTER FAILOVER GROUP [ IF EXISTS ] <name>
ADD <share_name> [ , <share_name> , ... ] TO ALLOWED_SHARES
ALTER FAILOVER GROUP [ IF EXISTS ] <name>
MOVE SHARES <share_name> [ , <share_name> , ... ] TO FAILOVER GROUP <move_to_fg_name>
ALTER FAILOVER GROUP [ IF EXISTS ] <name>
REMOVE <share_name> [ , <share_name> , ... ] FROM ALLOWED_SHARES
ALTER FAILOVER GROUP [ IF EXISTS ] <name>
ADD <org_name>.<target_account_name> [ , <org_name>.<target_account_name> , ... ] TO ALLOWED_ACCOUNTS
[ IGNORE EDITION CHECK ]
ALTER FAILOVER GROUP [ IF EXISTS ] <name>
REMOVE <org_name>.<target_account_name> [ , <org_name>.<target_account_name> , ... ] FROM ALLOWED_ACCOUNTS
Compte cible
ALTER FAILOVER GROUP [ IF EXISTS ] <name> REFRESH
ALTER FAILOVER GROUP [ IF EXISTS ] <name> PRIMARY
ALTER FAILOVER GROUP [ IF EXISTS ] <name> SUSPEND [ IMMEDIATE ]
ALTER FAILOVER GROUP [ IF EXISTS ] <name> RESUME
Paramètres¶
Compte source
name
Spécifie l’identificateur pour le groupe de basculement.
RENAME TO new_name
new_name
Spécifie le nouvel identificateur pour le groupe de basculement. Le nouvel identificateur ne peut pas être utilisé si l’identificateur est déjà en place pour une réplication différente ou un groupe de basculement différent.
Pour plus de détails, voir Exigences relatives à l’identificateur.
SET ...
Spécifie des propriétés à définir pour le groupe de basculement (séparées par des espaces, des virgules ou de nouvelles lignes) :
OBJECT_TYPES = object_type [ , object_type , ... ]
Réinitialisez la liste des types d’objets pour lesquels vous activez la réplication et le basculement du compte source vers le(s) compte(s) cible(s).
Note
Pour les objets de base de données et de partage :
Si des DATABASES ou des SHARES sont inclus dans la liste OBJECT_TYPES et restent dans la liste OBJECT_TYPES après la réinitialisation de la liste, la liste des objets autorisés (ALLOWED_DATABASES ou ALLOWED_SHARES) reste inchangée.
Si la liste OBJECT_TYPES est réinitialisée pour ajouter ou supprimer des DATABASES, la liste ALLOWED_DATABASES est définie sur NULL.
Si la liste OBJECT_TYPES est réinitialisée pour ajouter ou supprimer des SHARES, la liste ALLOWED_SHARES est définie sur NULL.
Utilisez les clauses ADD, MOVE et REMOVE pour modifier la liste des objets de base de données ou de partage autorisés.
Les types d’objets suivants sont pris en charge :
- ACCOUNT PARAMETERS:
Tous les paramètres au niveau du compte. Cela comprend les paramètres du compte et les paramètres qui peuvent être définis pour votre compte.
- DATABASES:
Ajoutez des objets de base de données à la liste des types d’objets. Si les objets de la base de données étaient déjà inclus dans la liste des types d’objets spécifiés, la liste
ALLOWED_DATABASES
reste inchangée. Pour modifier la liste des bases de données, utilisez les clauses ADD, MOVE ou REMOVE.- INTEGRATIONS:
Actuellement, seuls la sécurité, API, le stockage, l’accès externe et certains types d’intégration de notifications sont pris en charge. Pour plus de détails, voir Réplication d’intégration.
Si les objets d’intégration sont inclus dans la liste des types d’objets spécifiés, le paramètre
ALLOWED_INTEGRATION_TYPES
doit être défini.- NETWORK POLICIES:
Toutes les politiques réseau dans le compte source.
- RESOURCE MONITORS:
Tous les moniteurs de ressources dans le compte source.
- ROLES:
Tous les rôles du compte source. La réplication des rôles inclut implicitement toutes les autorisations pour les types d’objets inclus dans le groupe de réplication. Par exemple, si
ROLES
est le seul type d’objet qui est répliqué, alors seules les hiérarchies de rôles (c’est-à-dire les rôles accordés à d’autres rôles) sont répliquées vers les comptes cibles. Si le type d’objetUSERS
est également inclus, les autorisations accordées aux rôles aux utilisateurs sont également répliquées.- SHARES:
Ajoutez les objets de partage à la liste des types d’objets. Si des objets de partage étaient déjà inclus dans la liste des types d’objets spécifiés, la liste
ALLOWED_SHARES
reste inchangée. Pour modifier la liste des partages, utilisez les clauses ADD, MOVE ou REMOVE.- USERS:
Tous les utilisateurs du compte source.
- WAREHOUSES:
Tous les entrepôts du compte source.
ALLOWED_DATABASES = db_name [ , db_name , ... ]
Spécifie la base de données ou la liste des bases de données pour lesquelles vous activez la réplication et le basculement du compte source vers le compte cible. Pour que vous puissiez définir ce paramètre, la liste
OBJECT_TYPES
doit inclureDATABASES
.db_name
Spécifie l’identificateur de la base de données.
ALLOWED_SHARES = share_name [ , share_name , ... ]
Spécifie le partage ou la liste de partages pour lesquels vous activez la réplication et le basculement du compte source vers le compte cible. Pour que vous puissiez définir ce paramètre, la liste
OBJECT_TYPES
doit inclureSHARES
.share_name
Spécifie l’identificateur du partage.
Note
Si les listes ALLOWED_DATABASES ou ALLOWED_SHARES sont modifiées, tous les objets qui figuraient précédemment dans la liste et qui ont été supprimés seront supprimés dans tout compte cible avec un groupe de basculement secondaire lié lors de la prochaine opération d’actualisation.
ALLOWED_INTEGRATION_TYPES = integration_type_name [ , integration_type_name , ... ]
Type(s) d’intégrations pour lesquelles vous activez la réplication et le basculement du compte source vers le compte cible.
Cette propriété exige que la liste
OBJECT_TYPES
comprenneINTEGRATIONS
pour définir ce paramètre.Les types d’intégration suivants sont pris en charge :
- SECURITY INTEGRATIONS:
Spécifie les intégrations de sécurité.
Cette propriété exige que la liste
OBJECT_TYPES
comprenneROLES
.- API INTEGRATIONS:
Spécifie les intégrations API.
La réplication d’une intégration API nécessite une configuration supplémentaire après la réplication de l’intégration API vers le compte cible. Pour plus d’informations, voir Mise à jour du service distant pour les intégrations API.
- STORAGE INTEGRATIONS:
Spécifie les intégrations de stockage.
- EXTERNAL ACCESS INTEGRATIONS:
Spécifie les intégrations d’accès externes.
Pour plus d’informations, consultez Réplication de procédures stockées et de fonctions définies par l’utilisateur (UDFs).
- NOTIFICATION INTEGRATIONS:
Spécifie les intégrations de notification.
Seuls certains types d’intégrations de notification sont répliqués. Pour plus de détails, voir Réplication d’intégration.
REPLICATION_SCHEDULE ...
Spécifie la planification de l’actualisation des groupes de basculement secondaires.
USING CRON expr time_zone
Spécifie une expression cron et un fuseau horaire pour l’actualisation du groupe secondaire. Prend en charge un sous-ensemble de la syntaxe standard de l’utilitaire cron.
Pour obtenir une liste des fuseaux horaires, voir la liste des fuseaux horaires de la base de données tz (dans Wikipédia).
L’expression cron comprend les champs suivants :
# __________ minute (0-59) # | ________ hour (0-23) # | | ______ day of month (1-31, or L) # | | | ____ month (1-12, JAN-DEC) # | | | | __ day of week (0-6, SUN-SAT, or L) # | | | | | # | | | | | * * * * *
Les caractères spéciaux suivants sont acceptés :
*
Caractère générique. Spécifie toute occurrence du champ.
L
Signifie « dernier ». Lorsqu’il est utilisé dans le champ du jour de la semaine, il vous permet de spécifier des constructions telles que « le dernier vendredi » (« 5L ») d’un mois donné. Dans le champ du mois, il spécifie le dernier jour du mois.
/n
Indique l’instance n d’une unité de temps donnée. Chaque quanta de temps est calculé indépendamment. Par exemple, si
4/3
est spécifié dans le champ du mois, l’actualisation est planifiée pour avril, juillet et octobre (c’est-à-dire tous les 3 mois, à partir du 4e mois de l’année). Le même calendrier est maintenu les années suivantes. En d’autres termes, la réactualisation n’est pas prévue en janvier (3 mois après l’exécution d’octobre).
Note
L’expression cron est actuellement évaluée par rapport au fuseau horaire spécifié. La modification de la valeur du paramètre TIMEZONE pour le compte (ou la définition de la valeur au niveau de l’utilisateur ou de la session) ne modifie pas le fuseau horaire de l’actualisation.
L’expression cron définit toutes les heures d’exécution valides de l’actualisation. Snowflake tente d’actualisation des groupes secondaires en fonction de cette planification. Toutefois, toute heure d’exécution valide est ignorée si une exécution précédente n’a pas été terminée avant le début de la prochaine heure d’exécution valide.
Lorsqu’un jour de mois et un jour de semaine spécifiques sont inclus dans l’expression cron, l’actualisation est planifiée les jours satisfaisant le jour du mois ou le jour de la semaine. Par exemple,
SCHEDULE = 'USING CRON 0 0 10-20 * TUE,THU UTC'
planifie une réactualisation à 0AM entre le 10e et le 20e jour du mois ainsi que le mardi ou le jeudi en dehors de ces dates.
num MINUTE
Spécifie un intervalle (en minutes) de temps d’attente entre les actualisations. Accepte uniquement les entiers positifs.
Prend également en charge la syntaxe
num M
.Pour éviter toute ambiguïté, un intervalle de base est défini :
Lorsque l’objet est créé (à l’aide de CREATE <objet>) ou
Lorsqu’un intervalle différent est défini (avec ALTER <objet> … SETREPLICATION_SCHEDULE)
L’intervalle de base démarre le compteur d’intervalle à partir de l’heure actuelle. Par exemple, si une valeur INTERVAL de
10
est définie et que l’actualisation planifiée est activée à 9:03 AM, elle s’exécute à 9:13 AM, 9:23 AM, etc. Notez que nous faisons de notre mieux pour assurer une précision absolue, mais nous garantissons uniquement que les actualisations ne s’exécutent pas avant que leur intervalle défini ne soit exécuté (par exemple, dans cet exemple, l’actualisation pourrait d’abord être exécutée à 9:14 AM, mais ne fonctionnera certainement pas à 9:12 AM).Note
La valeur maximale prise en charge est
11520
(8 jours). Si le calendrier de réplication a une valeurnum MINUTE
supérieure, l’opération d’actualisation n’est jamais exécutée.
TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]
Spécifie le nom de la balise et la valeur de la chaîne de la balise.
La valeur de la balise est toujours une chaîne de caractères et le nombre maximum de caractères pour la valeur de la balise est 256.
Pour plus d’informations sur la spécification des balises dans une instruction, voir Quotas de balises pour les objets et les colonnes.
ERROR_INTEGRATION = integration_name
Spécifie le nom de l’intégration de notification à utiliser pour envoyer des notifications par courrier électronique/push lorsque des erreurs d’actualisation se produisent pour le groupe de basculement. Pour plus de détails, voir Notifications d’erreurs pour les groupes de basculement et de réplication.
ADD db_name [ , db_name , ... ] TO ALLOWED_DATABASES
Spécifie une liste de bases de données supplémentaires, séparées par des virgules, à activer pour la réplication et le basculement. Pour ajouter des bases de données, DATABASES doit être inclus dans la liste des types d’objets spécifiés. Si la liste des types d’objets ne comprend pas déjà DATABASES, vous devez l’ajouter.
db_name
Spécifie l’identificateur de la base de données.
MOVE DATABASES db_name [ , db_name , ... ] TO FAILOVER GROUP move_to_fg_name
Spécifie une liste de bases de données, séparées par des virgules, à déplacer d’un groupe de basculement vers un autre groupe de basculement. Le groupe de basculement vers lequel les bases de données sont déplacées doit inclure DATABASES dans la liste des types d’objets spécifiés.
db_name
Spécifie l’identificateur de la base de données.
move_to_fg_name
Spécifie l’identificateur du groupe de basculement vers lequel les bases de données sont déplacées.
REMOVE db_name [ , db_name , ... ] FROM ALLOWED_DATABASES
Spécifie une liste de bases de données, séparées par des virgules, à supprimer de la liste des bases de données activées pour la réplication et le basculement.
Note
Lorsque vous supprimez une base de données d’un groupe de basculement principal, la base de données est supprimée dans tout compte cible avec un groupe de basculement secondaire lié lors de la prochaine opération d’actualisation.
Pour éviter de supprimer des bases de données dans le compte cible, vous pouvez supprimer le groupe de basculement secondaire avant la prochaine réplication dans le compte cible du groupe de basculement principal modifié. Lorsque vous supprimez le groupe de basculement secondaire, les bases de données secondaires en lecture seule qui étaient incluses dans le groupe deviennent des bases de données autonomes en lecture-écriture dans le compte cible.
ADD share_name [ , share_name , ... ] TO ALLOWED_SHARES
Spécifie une liste de partages supplémentaires, séparés par des virgules, à activer pour la réplication et le basculement. Pour ajouter des partages, SHARES doit être inclus dans la liste des types d’objets spécifiés. Si la liste des types d’objets ne comprend pas déjà SHARES, vous devez l’ajouter.
share_name
Spécifie l’identificateur du partage.
MOVE SHARES share_name [ , share_name , ... ] TO FAILOVER GROUP move_to_fg_name
Spécifie une liste de partages, séparés par des virgules, à déplacer d’un groupe de basculement vers un autre groupe de basculement. Le groupe de basculement vers lequel les partages sont déplacés doit inclure SHARES dans la liste des types d’objets spécifiés.
share_name
Spécifie l’identificateur du partage.
move_to_fg_name
Spécifie l’identificateur du groupe de basculement vers lequel les partages sont déplacés.
REMOVE share_name [ , share_name , ... ] FROM ALLOWED_SHARES
Spécifie une liste de partages, séparés par des virgules, à supprimer de la liste des partages activés pour la réplication et le basculement.
Note
Lorsque vous supprimez un partage d’un groupe de basculement principal, le partage est supprimé dans tout compte cible doté d’un groupe de basculement secondaire lors de la prochaine opération d’actualisation.
ADD org_name.target_account_name [ , org_name.target_account_name , ... ] TO ALLOWED_ACCOUNTS
Spécifie une liste de comptes cibles, séparés par des virgules, à ajouter au groupe de basculement principal pour activer la réplication et le basculement des objets spécifiés dans le compte source vers le compte cible. Les groupes de basculement secondaires dans les comptes cibles de cette liste peuvent être promus en tant que groupe de basculement principal en cas de basculement.
org_name
Nom de votre organisation Snowflake.
target_account_name
Compte cible vers lequel vous activez la réplication des objets spécifiés.
REMOVE org_name.target_account_name [ , org_name.target_account_name , ... ] FROM ALLOWED_ACCOUNTS
Spécifie une liste de comptes cibles, séparés par des virgules, à supprimer du groupe de basculement principal pour désactiver la réplication des objets spécifiés dans le compte source vers le compte cible. La suppression d’un compte cible désactive le basculement du compte actuel vers ce compte cible.
org_name
Nom de votre organisation Snowflake.
target_account_name
Compte cible sur lequel vous désactivez la réplication des objets spécifiés.
IGNORE EDITION CHECK
Permet de répliquer des objets sur des comptes dans le scénario suivant :
Un groupe de basculement primaire se trouve dans un compte Business Critical (ou supérieur) et un accord d’associé commercial signé est en place pour stocker les données PHI dans le compte conformément aux réglementations HIPAA et HITRUST. Cependant, aucun accord de ce type n’est en place pour un ou plusieurs des comptes approuvés pour la réplication, qu’il s’agisse de comptes Business Critical (ou supérieurs).
Ce scénario est interdit par défaut.
Compte cible
name
Spécifie l’identificateur pour le groupe de basculement.
REFRESH
Actualise les objets du compte cible (actuel) à partir du compte source.
PRIMARY
Promouvez un groupe de basculement secondaire et ses objets spécifiés dans le compte cible (actuel) en principal (en cas de basculement).
SUSPEND [ IMMEDIATE ]
Suspendez l’actualisation planifiée du groupe de basculement secondaire (si le groupe de basculement principal a planifié des actualisations à l’aide de la propriété
REPLICATION_SCHEDULE
).Le mot-clé
IMMEDIATE
facultatif annule une opération d’actualisation planifiée actuellement en cours pour le groupe de basculement secondaire (le cas échéant). Notez qu’il peut y avoir un léger délai entre le moment où l’instruction est renvoyée et le moment où l’annulation de l’opération d’actualisation est terminée.RESUME
Reprend l’actualisation planifiée du groupe de basculement secondaire (si le groupe de basculement principal à des actualisations planifiées en utilisant la propriété
REPLICATION_SCHEDULE
).
Notes sur l’utilisation¶
Les privilèges minimaux suivants sont requis :
Pour actualiser un groupe de basculement secondaire en utilisant ALTER FAILOVER GROUP … REFRESH, un rôle principal doit avoir le privilège OWNERSHIP ou REPLICATE sur le groupe de basculement.
Pour basculer un groupe de basculement secondaire à l’aide de ALTER FAILOVER GROUP … PRIMARY, un rôle doit avoir le privilège OWNERSHIP ou FAILOVER sur le groupe de basculement.
Pour apporter d’autres modifications au groupe de basculement, seul un rôle doté du privilège OWNERSHIP sur le groupe peut exécuter cette commande SQL.
Pour ajouter une base de données à un groupe de basculement, le rôle actif doit avoir le privilège MONITOR sur la base de données.
Pour ajouter un partage à un groupe de basculement, le rôle actif doit avoir le privilège OWNERSHIP sur le partage.
Les identificateurs des groupes de basculement et des groupes de réplication d’un compte doivent être uniques.
Les objets autres que les bases de données et les partages doivent être dans le même groupe de basculement.
Une base de données ne peut être ajoutée qu’à un seul groupe de basculement.
Les partages entrants (partages provenant de fournisseurs) ne peuvent pas être ajoutés à un groupe de réplication ou de basculement.
La promotion d’un groupe de basculement secondaire en principal (en cas de basculement) échoue si une actualisation est en cours.
Si une actualisation est en cours lorsque la planification de la réplication est mise à jour, l’actualisation se poursuit jusqu’à la fin et la prochaine actualisation utilisera la nouvelle planification.
Lors du basculement, les actualisations planifiées sur tous les groupes de basculement secondaires sont suspendues.
ALTER FAILOVER GROUP ... RESUME
doit être exécuté sur chaque groupe secondaire pour reprendre les actualisations automatiques.Pour déplacer des bases de données ou des partages d’un groupe de basculement (le groupe d’origine) vers un autre groupe de basculement (le groupe de destination) :
Les deux groupes doivent être du même type : FAILOVER GROUP.
Si la dernière base de données du groupe d’origine est déplacée vers un autre groupe, la propriété
allowed_databases
du groupe d’origine prend la valeur NULL. Le même comportement s’applique aux partages.Si le type d’objet à déplacer (
databases
oushares
) ne figure pas dans la listeobject_types
du groupe d’origine, il doit être explicitement ajouté au groupe de destination avant de déplacer les objets.
Si des objets de base de données ou de partage sont supprimés d’un groupe de basculement principal (en utilisant le paramètre REMOVE ou SET pour modifier les listes ALLOWED_DATABASES ou ALLOWED_SHARES), ces objets sont supprimés dans tout compte cible lors de la prochaine opération d’actualisation.
Pour éviter de supprimer ces objets dans le compte cible, vous pouvez supprimer le groupe de basculement secondaire avant la prochaine réplication dans le compte cible du groupe de basculement principal modifié.
Pour récupérer la liste des comptes de votre organisation qui sont activés pour la réplication, utilisez la commande SHOW REPLICATION ACCOUNTS.
Pour récupérer la liste des groupes de basculement dans votre organisation, utilisez SHOW FAILOVER GROUPS.
Les opérations d’actualisation planifiées sont exécutées à l’aide du rôle titulaire du privilège OWNERSHIP sur le groupe. Si une opération d’actualisation planifiée échoue en raison de l’insuffisance des privilèges, accordez les privilèges requis au rôle disposant du privilège OWNERSHIP sur le groupe.
La commande ALTER FAILOVER GROUP … SUSPEND IMMEDIATE n’annule pas une opération d’actualisation en cours si elle a été déclenchée manuellement. Pour plus d’informations, voir Annuler une opération d’actualisation en cours qui n’a pas été automatiquement planifiée.
L’annulation d’une opération d’actualisation en cours qui se trouve dans la phase SECONDARY_DOWNLOADING_METADATA ou SECONDARY_DOWNLOADING_DATA peut entraîner un état incohérent sur le compte cible. Pour plus d’informations, voir Voir la phase actuelle d’une opération d’actualisation en cours.
Si vous créez un groupe de réplication ou de basculement avec une balise ou modifiez un groupe de réplication ou de basculement en définissant une balise dessus, la lignée de balises ne s’applique pas aux objets que vous spécifiez dans le groupe de réplication ou de basculement.
La lignée de balises s’applique uniquement aux objets avec une relation parent-enfant, comme une base de données, un schéma et une table. Il n’y a pas d’objets enfants de groupes de réplication ou de basculement.
Vous ne pouvez pas définir ou modifier une balise sur un groupe de réplication secondaire ou de basculement, car ces objets sont en lecture seule.
Lorsque vous actualisez un groupe de réplication ou de basculement secondaire, toutes les balises définies sur le groupe principal sont ensuite définies sur le groupe secondaire.
Concernant les métadonnées :
Attention
Les clients doivent s’assurer qu’aucune donnée personnelle (autre que pour un objet utilisateur), donnée sensible, donnée à exportation contrôlée ou autre donnée réglementée n’est saisie comme métadonnée lors de l’utilisation du service Snowflake. Pour plus d’informations, voir Champs de métadonnées dans Snowflake.
Exemples¶
Exécution depuis le compte source¶
Ajoutez myorg.myaccount3
à la liste des comptes cibles auxquels la réplication des objets spécifiés et le basculement depuis le compte source sont activés.
ALTER FAILOVER GROUP myfg ADD myorg.myaccount3 TO ALLOWED_ACCOUNTS;
Réinitialisez la liste des types d’objets pour la réplication dans le compte source et ajoutez la base de données db1
:
ALTER FAILOVER GROUP myfg SET
OBJECT_TYPES = USERS, ROLES, WAREHOUSES, RESOURCE MONITORS, DATABASES
ALLOWED_DATABASES = db1;
Ajoutez les bases de données db2
et db3
à la liste des bases de données :
ALTER FAILOVER GROUP myfg
ADD db2, db3 TO ALLOWED_DATABASES;
Déplacez la base de données db3
vers un autre groupe de basculement, myfg2
:
ALTER FAILOVER GROUP myfg
MOVE DATABASES db3 TO FAILOVER GROUP myfg2;
Déplacez la base de données db2
dans myfg
vers un autre groupe de basculement, myfg3
, qui n’a actuellement aucune base de données :
D’abord, ajoutez
databases
àobject_types
:ALTER FAILOVER GROUP myfg3 SET OBJECT_TYPES = DATABASES, SHARES;Déplacez
db2
versmyfg3
:ALTER FAILOVER GROUP myfg MOVE DATABASES db2 TO FAILOVER GROUP myfg3;
Supprimez toutes les bases de données de la liste des bases de données du compte source pour la réplication et le basculement :
ALTER FAILOVER GROUP myfg
SET ALLOWED_DATABASES = NULL;
Note
L’exécution de l’instruction ci-dessus supprime toutes les bases de données de la liste des bases de données à répliquer, mais ne supprime pas les objets de base de données de la liste des types d’objets spécifiés pour la réplication et le basculement.
Pour désactiver la réplication et le basculement de toutes les bases de données et supprimer des bases de données de la liste des types d’objets spécifiés :
ALTER FAILOVER GROUP myfg
REMOVE databases FROM OBJECT_TYPES;
Ajoutez (ou modifiez) l’intervalle pour les actualisations planifiées automatiquement :
ALTER FAILOVER GROUP myfg
SET REPLICATION_SCHEDULE = '15 MINUTE';
Exécution depuis le compte cible¶
Actualisez les objets du groupe de basculement myfg
dans le compte cible :
ALTER FAILOVER GROUP myfg REFRESH;
Promouvez le groupe de basculement secondaire dans le compte cible actuel en tant que groupe principal :
ALTER FAILOVER GROUP myfg PRIMARY;
Suspendez les actualisations automatiques :
ALTER FAILOVER GROUP myfg SUSPEND;