ALTER REPLICATION GROUP¶
Modifie les propriétés d’un groupe de réplication existant.
À partir du compte source, vous pouvez effectuer les actions suivantes :
Renommer le groupe de réplication.
Réinitialiser la liste des types d’objets spécifiés activés pour la réplication.
Définir ou mettre à jour la planification de la réplication pour l’actualisation automatique des groupes de réplication secondaires.
Ajouter ou supprimer les objets de compte des types suivants à un groupe de réplication ou à partir de celui-ci :
Bases de données
Partages
Intégrations de sécurité
Intégrations API
Certains types d’intégrations de notification (reportez-vous à Réplication d’intégration)
Ajouter ou supprimer des comptes cibles activés pour la réplication.
Déplacer des bases de données ou des partages d’un groupe de réplication vers un autre groupe de réplication.
À partir du compte cible, vous pouvez effectuer les actions suivantes :
Actualiser les objets du compte cible à partir du compte source.
Suspendre la réplication planifiée.
Reprendre la réplication planifiée.
- Voir aussi :
CREATE REPLICATION GROUP , DROP REPLICATION GROUP , SHOW REPLICATION GROUPS
Syntaxe¶
Compte source
ALTER REPLICATION GROUP [ IF EXISTS ] <name> RENAME TO <new_name>
ALTER REPLICATION GROUP [ IF EXISTS ] <name> SET
[ OBJECT_TYPES = <object_type> [ , <object_type> , ... ] ]
[ REPLICATION_SCHEDULE = '{ <num> MINUTE | USING CRON <expr> <time_zone> }' ]
ALTER REPLICATION GROUP [ IF EXISTS ] <name> SET
OBJECT_TYPES = INTEGRATIONS [ , <object_type> , ... ] ]
ALLOWED_INTEGRATION_TYPES = <integration_type_name> [ , <integration_type_name> ... ] ]
[ REPLICATION_SCHEDULE = '{ <num> MINUTE | USING CRON <expr> <time_zone> }' ]
ALTER REPLICATION GROUP [ IF EXISTS ] <name>
ADD <db_name> [ , <db_name> , ... ] TO ALLOWED_DATABASES
ALTER REPLICATION GROUP [ IF EXISTS ] <name>
MOVE DATABASES <db_name> [ , <db_name> , ... ] TO REPLICATION GROUP <move_to_rg_name>
ALTER REPLICATION GROUP [ IF EXISTS ] <name>
REMOVE <db_name> [ , <db_name> , ... ] FROM ALLOWED_DATABASES
ALTER REPLICATION GROUP [ IF EXISTS ] <name>
ADD <share_name> [ , <share_name> , ... ] TO ALLOWED_SHARES
ALTER REPLICATION GROUP [ IF EXISTS ] <name>
MOVE SHARES <share_name> [ , <share_name> , ... ] TO REPLICATION GROUP <move_to_rg_name>
ALTER REPLICATION GROUP [ IF EXISTS ] <name>
REMOVE <share_name> [ , <share_name> , ... ] FROM ALLOWED_SHARES
ALTER REPLICATION GROUP [ IF EXISTS ] <name>
ADD <org_name>.<target_account_name> [ , <org_name>.<target_account_name> , ... ] TO ALLOWED_ACCOUNTS
[ IGNORE EDITION CHECK ]
ALTER REPLICATION GROUP [ IF EXISTS ] <name>
REMOVE <org_name>.<target_account_name> [ , <org_name>.<target_account_name> , ... ] FROM ALLOWED_ACCOUNTS
Compte cible
ALTER REPLICATION GROUP [ IF EXISTS ] <secondary_name> REFRESH
ALTER REPLICATION GROUP [ IF EXISTS ] <secondary_name> SUSPEND
ALTER REPLICATION GROUP [ IF EXISTS ] <secondary_name> RESUME
Paramètres¶
Compte source
name
Spécifie l’identificateur pour le groupe de réplication.
RENAME TO new_name
new_name
Spécifie le nouvel identificateur pour le groupe de réplication. 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 une ou plusieurs propriétés à définir pour le groupe de réplication (séparées par des espaces, des virgules ou de nouvelles lignes) : Pour plus de détails sur les propriétés que vous pouvez définir, voir CREATE REPLICATION GROUP.
ADD db_name [ , db_name , ... ] TO ALLOWED_DATABASES
Spécifie une liste de bases de données, séparées par des virgules, à ajouter à la liste des bases de données pour lesquelles la réplication est activée. Pour ajouter une base 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 REPLICATION GROUP move_to_rg_name
Spécifie une liste de bases de données, séparées par des virgules, à déplacer d’un groupe de réplication vers un autre groupe de réplication. Le groupe de réplication 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_rg_name
Spécifie l’identificateur du groupe de réplication 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 pour lesquelles la réplication est activée.
ADD share_name [ , share_name , ... ] TO ALLOWED_SHARES
Spécifie une liste de partages, séparés par des virgules, à ajouter à la liste des partages pour la réplication. Pour ajouter un partage, 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 REPLICATION GROUP move_to_rg_name
Spécifie une liste de partages, séparés par des virgules, à déplacer d’un groupe de réplication vers un autre groupe de réplication. Le groupe de réplication 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_rg_name
Spécifie l’identificateur du groupe de réplication 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 pour lesquels la réplication est activée.
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 réplication principal pour activer la réplication des objets spécifiés dans le compte source vers le compte cible.
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 réplication principal pour désactiver la réplication des objets spécifiés dans le compte source vers le 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 vers des comptes sur des éditions inférieures dans l’un des scénarios suivants :
Le groupe de réplication principal avec seulement des objets de partage et/ou de base de données se trouve dans un compte Business Critical (ou supérieur), mais un ou plusieurs des comptes approuvés pour la réplication se trouvent sur des éditions inférieures. Business Critical Edition est destiné aux comptes Snowflake contenant des données extrêmement sensibles.
Un groupe de réplication primaire avec tout type d’objet se trouve dans un compte Business Critical (ou supérieur) et un accord d’association 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).
Les deux scénarios sont interdits par défaut dans le but d’empêcher les administrateurs de comptes Business Critical (ou supérieurs) de répliquer par inadvertance des données sensibles vers des comptes sur des éditions inférieures.
Compte cible
secondary_name
Spécifie l’identificateur pour le groupe de réplication.
REFRESH
Actualise les objets du compte cible (actuel) à partir du compte source.
SUSPEND
Suspendez l’actualisation planifiée du groupe de réplication secondaire (si le groupe de réplication principal a une planification planifiée automatique définie à l’aide de la propriété
REPLICATION_SCHEDULE
).Note
La suspension de la réplication planifiée ne suspend pas une opération d’actualisation en cours. Elle suspend la planification de sorte qu’aucune actualisation supplémentaire ne soit prévue après la fin de l’actualisation en cours.
RESUME
Reprenez l’actualisation planifiée du groupe de réplication secondaire (si le groupe de réplication principal a une planification planifiée automatique définie à l’aide de la propriété
REPLICATION_SCHEDULE
).
Notes sur l’utilisation¶
Les privilèges minimaux suivants sont requis :
Pour actualiser un groupe de réplication secondaire à l’aide de ALTER REPLICATION GROUP … REFRESH, un rôle doit posséder le privilège OWNERSHIP ou REPLICATE sur le groupe de réplication.
Pour apporter d’autres modifications au groupe de réplication, seul un utilisateur avec 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 réplication, le rôle actif doit disposer du privilège MONITOR sur la base de données.
Pour ajouter un partage à un groupe de réplication, 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 réplication.
Une base de données ne peut être ajoutée qu’à un seul groupe de réplication ou de basculement.
Pour déplacer des bases de données ou des partages d’un groupe de réplication (le groupe d’origine) vers un autre groupe de réplication (le groupe de destination) :
Les deux groupes doivent être du même type : REPLICATION 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.
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 réplication de votre organisation, utilisez la commande SHOW REPLICATION GROUPS. La colonne
allowed_accounts
répertorie tous les comptes cibles activés pour la réplication à partir d’un compte source.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 vers lesquels la réplication des objets spécifiés depuis le compte source est activée :
ALTER REPLICATION GROUP myrg ADD myorg.myaccount3 TO ALLOWED_ACCOUNTS;
Réinitialisez la liste des types d’objets pour la réplication dans le compte source :
ALTER REPLICATION GROUP myrg SET
OBJECT_TYPES = DATABASES, SHARES;
Ajoutez la base de données db1
à la liste des bases de données pour lesquelles la réplication est activée :
ALTER REPLICATION GROUP myrg
ADD db1 to ALLOWED_DATABASES;
Ajoutez le partage s2
à la liste des partages pour lesquels la réplication est activée :
ALTER REPLICATION GROUP myrg
ADD s2 TO ALLOWED_SHARES;
Déplacez la base de données db1
vers un autre groupe de réplication, myrg2
:
ALTER REPLICATION GROUP myrg
MOVE DATABASES db1 TO REPLICATION GROUP myrg2;
Définissez l’intervalle d’actualisation planifiée à 15 minutes :
ALTER REPLICATION GROUP myrg SET
REPLICATION_SCHEDULE = '15 MINUTE';
Exécution depuis le compte cible¶
Actualisez les objets du groupe de réplication myrg
dans le compte cible :
ALTER REPLICATION GROUP myrg REFRESH;
Suspendez les actualisations automatiques :
ALTER REPLICATION GROUP myrg SUSPEND;