ALTER FAILOVER GROUP¶
Modifica as propriedades de um grupo de failover existente.
A partir da conta de origem, você pode realizar as seguintes ações:
Renomear o grupo de failover.
Redefinir a lista de tipos de objetos especificados habilitados para replicação e failover.
Definir ou atualizar o cronograma de replicação para atualização automática de grupos de failover secundários.
Adicionar ou remover objetos de conta dos seguintes tipos para ou de um grupo de failover:
Bancos de dados
Compartilhamentos
Integrações de segurança
Integrações de API
Alguns tipos de integrações de notificação (consulte Replicação de integrações)
Adicionar ou remover contas de destino habilitadas para replicação e failover.
Mover compartilhamentos ou bancos de dados para outro grupo de failover.
A partir da conta de destino, você pode realizar as seguintes ações:
Atualizar os objetos na conta de destino a partir da conta de origem.
Promover um grupo de failover secundário para primário (ou seja, failover sobre o grupo de objetos failover).
Suspender a replicação programada.
Retomar a replicação programada.
- Consulte também:
CREATE FAILOVER GROUP, DROP FAILOVER GROUP, SHOW FAILOVER GROUPS
Sintaxe¶
Conta de origem
ALTER FAILOVER GROUP [ IF EXISTS ] <name> RENAME TO <new_name>
ALTER FAILOVER GROUP [ IF EXISTS ] <name> SET
[ OBJECT_TYPES = <object_type> [ , <object_type> , ... ] ]
[ REPLICATION_SCHEDULE = '{ <num> MINUTE | USING CRON <expr> <time_zone> }' ]
ALTER FAILOVER 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 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
Conta de destino
ALTER FAILOVER GROUP [ IF EXISTS ] <name> REFRESH
ALTER FAILOVER GROUP [ IF EXISTS ] <name> PRIMARY
ALTER FAILOVER GROUP [ IF EXISTS ] <name> SUSPEND
ALTER FAILOVER GROUP [ IF EXISTS ] <name> RESUME
Parâmetros¶
Conta de origem
name
Especifica o identificador do grupo de failover.
RENAME TO new_name
new_name
Especifica o novo identificador do grupo de failover. O novo identificador não pode ser usado se o identificador já estiver sendo usado para uma replicação ou grupo de failover diferente.
Para obter mais detalhes, consulte Requisitos para identificadores.
SET ...
Especifica uma (ou mais) propriedades a serem definidas para o grupo de failover (separadas por espaços em branco, vírgulas ou novas linhas). Para obter mais detalhes sobre as propriedades que você pode definir, consulte CREATE FAILOVER GROUP.
ADD db_name [ , db_name , ... ] TO ALLOWED_DATABASES
Especifica uma lista separada por vírgulas de bancos de dados adicionais para permitir a replicação e o failover. Para adicionar bancos de dados, DATABASES deve ser incluído na lista de tipos de objetos especificados. Se a lista de tipos de objetos ainda não inclui DATABASES, você deve adicioná-lo.
db_name
Especifica o identificador do banco de dados.
MOVE DATABASES db_name [ , db_name , ... ] TO FAILOVER GROUP move_to_fg_name
Especifica uma lista separada por vírgulas de bancos de dados para passar de um grupo de failover para outro grupo de failover. O grupo de failover para o qual os bancos de dados estão sendo movidos deve incluir DATABASES na lista de tipos de objetos especificados.
db_name
Especifica o identificador do banco de dados.
move_to_fg_name
Especifica o identificador do grupo de failover para o qual os bancos de dados estão sendo movidos.
REMOVE db_name [ , db_name , ... ] FROM ALLOWED_DATABASES
Especifica uma lista separada por vírgulas de bancos de dados a serem removidos da lista de bancos de dados habilitados para replicação e failover.
ADD share_name [ , share_name , ... ] TO ALLOWED_SHARES
Especifica uma lista separada por vírgulas de compartilhamentos adicionais para os quais deve-se habilitar a replicação e o failover. Para adicionar compartilhamentos, SHARES deve ser incluído na lista de tipos de objetos especificados. Se a lista de tipos de objetos ainda não inclui SHARES, você deve adicioná-lo.
share_name
Especifica o identificador do compartilhamento.
MOVE SHARES share_name [ , share_name , ... ] TO FAILOVER GROUP move_to_fg_name
Especifica uma lista separada por vírgulas de compartilhamentos para passar de um grupo de failover para outro grupo de failover. O grupo de failover para o qual os compartilhamentos estão sendo movidos deve incluir SHARES na lista de tipos de objetos especificados.
share_name
Especifica o identificador do compartilhamento.
move_to_fg_name
Especifica o identificador do grupo de failover para o qual os compartilhamentos estão sendo movidos.
REMOVE share_name [ , share_name , ... ] FROM ALLOWED_SHARES
Especifica uma lista separada por vírgulas de compartilhamentos a serem removidos da lista de compartilhamentos habilitados para replicação e failover.
ADD org_name.target_account_name [ , org_name.target_account_name , ... ] TO ALLOWED_ACCOUNTS
Especifica uma lista separada por vírgulas de contas de destino a adicionar ao grupo de failover primário para permitir a replicação e o failover de objetos especificados na conta de origem para a conta de destino. Grupos de failover secundários nas contas de destino dessa lista podem ser promovidos para servir como o grupo primário de failover em caso de failover.
org_name
Nome de sua organização no Snowflake.
target_account_name
Conta de destino na qual você está habilitando a replicação dos objetos especificados.
REMOVE org_name.target_account_name [ , org_name.target_account_name , ... ] FROM ALLOWED_ACCOUNTS
Especifica uma lista separada por vírgulas de contas de destino a remover do grupo de failover primário para desativar a replicação de objetos especificados na conta de origem para a conta de destino. A remoção de uma conta de destino desativa o failover da conta atual para essa conta de destino.
org_name
Nome de sua organização no Snowflake.
target_account_name
Conta de destino na qual você está desativando a replicação dos objetos especificados.
IGNORE EDITION CHECK
Permite replicar objetos para as contas no seguinte cenário:
O grupo de failover primário está em uma conta Business Critical (ou superior) e um contrato de parceiro comercial assinado está em vigor para armazenar dados PHI na conta segundo as regulamentações HIPAA e HITRUST. No entanto, nenhum contrato desse tipo está em vigor para uma ou mais contas aprovadas para replicação, independentemente de serem contas Business Critical (ou superiores).
Este cenário é proibido por padrão.
Conta de destino
secondary_name
Especifica o identificador do grupo de failover.
REFRESH
Atualiza os objetos na conta de destino (atual) a partir da conta de origem.
PRIMARY
Promover um grupo de failover secundário e seus objetos especificados na conta de destino (atual) para a conta primária (em caso de failover).
SUSPEND
Suspender a atualização programada do grupo de failover secundário (se o grupo primário de failover tiver atualizações programadas usando a propriedade
REPLICATION_SCHEDULE
).RESUME
Retomar a atualização programada do grupo de failover secundário (se o grupo primário de failover tiver atualizações programadas usando a propriedade
REPLICATION_SCHEDULE
).
Notas de uso¶
Os seguintes privilégios mínimos são necessários:
Para atualizar um grupo de failover secundário usando ALTER FAILOVER GROUP … REFRESH, uma função deve ter o privilégio OWNERSHIP ou REPLICATE sobre o grupo de failover.
Para executar um failover em um grupo de failover secundário usando ALTER FAILOVER GROUP … PRIMARY, uma função deve ter o privilégio OWNERSHIP ou FAILOVER sobre o grupo de failover.
Para fazer quaisquer outras mudanças no grupo de failover, somente uma função com o privilégio OWNERSHIP no grupo pode executar esse comando SQL.
Para adicionar um banco de dados a um grupo de failover, a função ativa deve ter o privilégio MONITOR sobre o banco de dados.
Para adicionar um compartilhamento a um grupo de failover, a função ativa deve ter o privilégio OWNERSHIP sobre o compartilhamento.
Identificadores de grupos de failover e grupos de replicação em uma conta devem ser únicos.
Objetos que não sejam bancos de dados e compartilhamentos precisam estar no mesmo grupo de failover.
Um banco de dados só pode ser adicionado a um grupo de failover.
Promover um grupo de failover secundário para um primário (em caso de failover) falhará se uma atualização estiver em andamento.
Se uma atualização estiver em andamento quando o cronograma de replicação for atualizado, a atualização continuará até a conclusão e a próxima atualização utilizará o novo cronograma.
No failover, as atualizações programadas em todos os grupos de failover secundários são suspensas.
ALTER FAILOVER GROUP ... RESUME
deve ser executado em cada secundário para retomar as atualizações automáticas.Para mover bancos de dados ou compartilhamentos de um grupo de failover (o grupo de origem) para outro grupo de failover (o grupo de destino):
Ambos os grupos devem ser do mesmo tipo: FAILOVER GROUP.
Se o último banco de dados do grupo de origem for movido para outro grupo, a propriedade
allowed_databases
para o grupo de origem é definida como NULL. O mesmo comportamento se aplica aos compartilhamentos.Se o grupo de destino não tiver o tipo de objeto que está sendo movido (
databases
oushares
) na listaobject_types
, ele deverá ser explicitamente adicionado ao grupo de destino antes de você mover os objetos.
Para obter a lista de contas em sua organização que estão habilitadas para replicação, use o comando SHOW REPLICATION ACCOUNTS.
Para obter a lista de grupos de failover em sua organização, use SHOW FAILOVER GROUPS.
Em relação aos metadados:
Atenção
Os clientes devem garantir que nenhum dado pessoal (exceto para um objeto do usuário), dados sensíveis, dados controlados por exportação ou outros dados regulamentados sejam inseridos como metadados ao usar o serviço Snowflake. Para obter mais informações, consulte Campos de metadados no Snowflake.
Exemplos¶
Executado a partir da conta de origem¶
Adicione myorg.myaccount3
à lista de contas de destino para as quais a replicação dos objetos especificados e o failover da conta de origem estão habilitados.
ALTER FAILOVER GROUP myfg ADD myorg.myaccount3 TO ALLOWED_ACCOUNTS;
Redefina a lista de tipos de objetos para replicação na conta de origem e adicione o banco de dados db1
:
ALTER FAILOVER GROUP myfg SET
OBJECT_TYPES = USERS, ROLES, WAREHOUSES, RESOURCE MONITORS, DATABASES
ALLOWED_DATABASES = db1;
Adicione os bancos de dados db2
e db3
à lista de bancos de dados:
ALTER FAILOVER GROUP myfg
ADD db2, db3 TO ALLOWED_DATABASES;
Mova o banco de dados db3
para outro grupo de failover, myfg2
:
ALTER FAILOVER GROUP myfg
MOVE DATABASES db3 TO FAILOVER GROUP myfg2;
Mova o banco de dados db2
em myfg
para outro grupo de failover, myfg3
, que atualmente não possui banco de dados:
Primeiro adicione
databases
aobject_types
:ALTER FAILOVER GROUP myfg3 SET OBJECT_TYPES = DATABASES, SHARES;Mova
db2
paramyfg3
:ALTER FAILOVER GROUP myfg MOVE DATABASES db2 TO FAILOVER GROUP myfg3;
Remova todos os bancos de dados da lista de bancos de dados da conta de origem para replicação e failover:
ALTER FAILOVER GROUP myfg
SET ALLOWED_DATABASES = NULL;
Nota
A execução da instrução acima remove todos os bancos de dados da lista de bancos de dados a serem replicados, mas não remove objetos de banco de dados da lista de tipos de objetos especificados para replicação e failover.
Para desativar a replicação e o failover de todos os bancos de dados e remover os bancos de dados da lista de tipos de objetos especificados:
ALTER FAILOVER GROUP myfg
REMOVE databases FROM OBJECT_TYPES;
Adicione (ou modifique) o intervalo para as atualizações programadas automaticamente:
ALTER FAILOVER GROUP myfg
SET REPLICATION_SCHEDULE = '15 MINUTE';
Executado a partir da conta de destino¶
Atualize os objetos no grupo de failover myfg
na conta de destino:
ALTER FAILOVER GROUP myfg REFRESH;
Promova o grupo de failover secundário na conta de destino atual para primário:
ALTER FAILOVER GROUP myfg PRIMARY;
Suspenda as atualizações automáticas:
ALTER FAILOVER GROUP myfg SUSPEND;