Execução de failover em bancos de dados em múltiplas contas

Este tópico descreve as etapas necessárias para fazer o failover de seus bancos de dados replicados em múltiplas contas em diferentes regiões para a recuperação de desastres.

Nota

Neste tópico:

Interface da Web para replicação de banco de dados e failover/failback

Atenção

O gerenciamento e o monitoramento da replicação e do failover/failback em Snowsight e Classic Console estão disponíveis apenas para contas que usam conectividade privada.

Para todas as outras contas, consulte Monitoramento da replicação usando o Snowsight e Replicação de objetos de conta e bancos de dados.

Os administradores de conta (usuários com a função ACCOUNTADMIN) podem gerenciar ações de replicação e failover/failback tanto em Snowsight quanto em Classic Console.

Snowsight

Consulte Interface da Web para replicação de banco de dados e failover/failback para instruções sobre como promover um banco de dados local para servir como o banco de dados primário.

Classic Console

Use a área Replication da guia Databases Databases tab na Classic Console para executar a maioria das ações relacionadas à configuração e ao gerenciamento da replicação do banco de dados, incluindo as seguintes ações:

  • Promover um banco de dados local para servir como banco de dados primário.

  • Habilitar o failover para um banco de dados primário (contas Business Critical Edition (ou superior)).

  • Atualizar um banco de dados secundário, seja uma vez (manualmente) ou repetidamente (em um cronograma, usando uma tarefa).

  • Promover um banco de dados secundário para servir como banco de dados primário (contas Business Critical Edition (ou superiores)).

  • Desativar a replicação e/ou o failover de um banco de dados primário.

Identificador de conta para comandos SQL de replicação e failover

As instruções SQL de amostra abaixo usam um identificador de conta no formato organization_name.account_name. Entretanto, os identificadores de conta no formato snowflake_region.account_locator são suportados.

Para obter mais detalhes, consulte Identificadores de conta para replicação e failover.

Pré-requisitos

  1. Permita a replicação para um banco de dados primário em um conjunto de contas.

  2. Crie pelo menos um banco de dados secundário (ou seja, réplica) do banco de dados primário em uma ou mais das contas especificadas na Etapa 1 e atualize regularmente (ou seja, sincronize) a réplica com as últimas atualizações do banco de dados primário.

Para obter instruções, consulte Replicação de bancos de dados em várias contas.

Etapa 1: visualizar todas as contas habilitadas para replicação

Consulte SHOW REPLICATION ACCOUNTS para ver a lista de contas em sua organização nas quais a replicação foi habilitada.

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             |
+------------------+---------------------------------+---------------+------------------+---------+-------------------+
Copy

Consulte a lista completa de IDs de região.

Etapa 2: habilitar o failover para um banco de dados primário

Nota

Pule esta etapa se você habilitou o failover para este banco de dados primário em Replicação de bancos de dados em várias contas.

Habilite o failover para um banco de dados primário para uma ou mais contas em sua organização usando uma instrução ALTER DATABASE … ENABLE FAILOVER TO ACCOUNTS. A réplica deste banco de dados primário em qualquer uma destas contas (ou seja, um banco de dados secundário) pode ser promovida para servir como banco de dados primário.

Note que a habilitação de failover para um banco de dados primário pode ser feita antes de ou após uma réplica do banco de dados primário ter sido criada em uma conta especificada.

Exemplo

Habilite o failover para o banco de dados primário mydb1 para as contas myaccount2 e myaccount3. Neste exemplo, suponha que o banco de dados primário esteja armazenado na conta myaccount1 e todas as três contas pertençam à organização myorg. O comando ALTER DATABASE deve ser executado a partir de myaccount1.

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

Etapa 3: promover um banco de dados de réplica para servir como banco de dados primário

Qualquer réplica de um banco de dados primário pode ser promovida para servir como banco de dados primário executando uma instrução ALTER DATABASE … PRIMARY. Quando promovido, o banco de dados se torna gravável. Ao mesmo tempo, o banco de dados primário anterior torna-se um banco de dados de réplica somente leitura.

Execute a instrução ALTER DATABASE na conta que contém o banco de dados secundário que você está promovendo.

Nota

Para promover um banco de dados secundário, a função utilizada para realizar a operação deve ter o privilégio OWNERSHIP sobre o banco de dados.

Exemplo

-- 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;
Copy