Configurar a recuperação de desastres¶
O Snowflake Connector for ServiceNow® está sujeito aos Termos do Snowflake Connector.
O Snowflake Connector for ServiceNow® pode ser configurado para usar uma segunda instância para dar suporte à recuperação de desastres.
Sobre o suporte à recuperação de desastres do Snowflake Connector for ServiceNow®¶
O Snowflake Connector for ServiceNow® armazena metadados sobre tabelas configuradas e sua própria configuração na instância do aplicativo. Quando o aplicativo é descartado ou corrompido, esse estado interno é perdido. Para evitar que isso aconteça, o conector exporta os metadados para o banco de dados de destino junto com os dados ingeridos durante eventos específicos, como, por exemplo:
Agendamento de uma nova ingestão
Finalização do recarregamento
Cancelamento do recarregamento
O processo de exportação cria várias tabelas no esquema de destino para armazenar o estado interno do conector. Essas tabelas não contêm os dados ingeridos, mas são essenciais para recuperar o estado do conector depois que o aplicativo é descartado ou corrompido. Quando replicadas, essas tabelas também podem ser usadas para recuperar o estado do conector em uma conta diferente do Snowflake. As tabelas a seguir são criadas pelo processo de exportação:
APP_CONFIG_SFSDKEXPORT_V1
APP_STATE_SFSDKEXPORT_V1
CONNECTOR_ERRORS_LOG_SFSDKEXPORT_V1
INGESTION_PROCESS_SFSDKEXPORT_V1
INGESTION_RUN_SFSDKEXPORT_V1
NOTIFICATIONS_STATE_SFSDKEXPORT_V1
RESOURCE_INGESTION_DEFINITION_SFSDKEXPORT_V1
__CONNECTOR_STATE_EXPORT
Importação de dados e relatórios existentes para uma nova instância do conector¶
Se o Snowflake Connector for ServiceNow® tiver sido desinstalado ou corrompido, é possível retomar a ingestão de tabelas configuradas anteriormente, desde que o banco de dados de destino não tenha sido descartado. Os metadados das tabelas configuradas no conector são salvos no banco de dados de destino junto com os dados ingeridos.
Para continuar a ingerir dados após a instalação de uma nova instância do conector, faça o seguinte:
Configuração do conector
Configure o conector seguindo as instruções em Instalação e configuração do conector com Snowsight ou Instalação e configuração do conector usando comandos SQL. Ao escolher o banco de dados e o esquema de destino, selecione o esquema existente que contém os dados ingeridos pela instância anterior do conector.
Concessão dos privilégios necessários ao conector
Nota
Esta etapa só é necessária se você tiver instalado e configurado o conector usando os comandos SQL. Se você instalou o conector usando Snowsight, pode pular esta etapa.
Execute o seguinte comando para garantir que o conector recém-instalado se torne o proprietário de todos os objetos no esquema existente:
system$grant_ownership_to_application('your_application_instance', true, '<database>', '<schema>');
Em que
<banco de dados>
e<esquema>
são os nomes do banco de dados e do esquema existentes, respectivamente.Pausa do conector
call pause_connector();
Importação dos dados existentes e a configuração da tabela
Importe os dados existentes e a configuração da tabela executando o seguinte comando no contexto do aplicativo instalado:
call import_state(force => true);
O parâmetro force é definido como true para garantir que todas as alterações que possam ter sido feitas no conector recém-instalado sejam substituídas pela configuração da tabela e pelos dados internos da instalação antiga.
Retomar o conector
call resume_connector();
Nesse momento, a nova instância do conector Snowflake Connector for ServiceNow® deve retomar a ingestão das tabelas existentes.
Replicação do banco de dados de destino e o estado do conector para outra implantação do snowflake¶
Esta seção descreve as etapas para replicar o conteúdo do banco de dados de destino. O banco de dados de destino contém os dados ingeridos e os metadados das tabelas configuradas no conector. Se o conector ou os dados baixados pelo conector forem críticos para sua empresa, considere configurar uma conta secundária Snowflake em uma região diferente e replicar o banco de dados de destino para a conta secundária.
Termos e definições¶
Os termos e definições a seguir são usados durante o processo de configuração da recuperação de desastres.
- Banco de dados de destino
O banco de dados configurado como o destino dos dados ingeridos pelo conector. Esse também é o banco de dados para o qual o estado interno do conector é exportado.
- Esquema de destino
O esquema configurado como o destino dos dados ingeridos pelo conector.
- Estado interno
Os dados internos e a configuração do conector, por exemplo, configurações de tabela, estado de ingestão e registros de erros.
- Instância do conector
A instância do conector Snowflake Connector for ServiceNow® instalada na conta Snowflake.
- ACCOUNT_PRIM
Exemplo de nome da conta primária
- ACCOUNT_SEC
Exemplo de nome da conta secundária (réplica)
- APP_PRIM
Exemplo Snowflake Connector for ServiceNow® de nome da instância do conector instalado na conta primária
- APP_SEC
Exemplo Snowflake Connector for ServiceNow® de nome da instância do conector instalado na conta secundária
- DST_DB.DST_SCHEMA
Exemplo de nome de esquema de destino para a instância do conector (onde os dados são ingeridos e o estado interno do conector é salvo)
- DST_DB
Exemplo de nome do banco de dados de destino configurado para o conector
- MYORG
Exemplo de nome da sua organização (ambas as contas devem estar na mesma organização)
Introdução¶
Quando instalado em sua conta, o conector Snowflake Connector for ServiceNow® (instância do conector) aparece como um banco de dados normal que contém dados, procedimentos etc. No entanto, ele não pode ser replicado para uma conta secundária da mesma forma que um banco de dados normal. Atualmente, não há nenhum mecanismo nativo para replicar a instância do conector com seu estado interno para uma conta de réplica. Especificamente, o aplicativo instalado não pode ser adicionado a um grupo de replicação.
Em vez de replicar a instância do conector diretamente, o conector exporta os metadados das tabelas configuradas para o esquema de destino configurado durante o processo de configuração do conector. O estado é salvo lá e pode ser replicado junto com os dados ingeridos.
Por exemplo, se você configurou o conector para ingerir dados no esquema de destino DST_DB.DST_SCHEMA, o conector salva automaticamente seu estado interno nesse esquema. Em seguida, você pode replicar os dados ingeridos e o estado interno usando o seguinte comando:
create replication group connector_dest_database_group
object_types = databases
allowed_databases = dst_db
allowed_accounts = ...;
Configuração da replicação de dados ingeridos e relatórios configurados¶
Cuidado
Sempre teste seus procedimentos de recuperação de desastres para verificar se a replicação de dados e de estado está funcionando conforme o esperado.
Antes de prosseguir, familiarize-se com a replicação do Snowflake.
As seções a seguir contêm instruções aplicáveis a todas as versões do Snowflake.
Instalação do conector na conta primária
Instale e configure o Snowflake Connector for ServiceNow® na conta primária. Para obter instruções detalhadas, consulte Instalação e configuração do conector com Snowsight ou Instalação e configuração do conector usando comandos SQL.
Na conta primária, crie um grupo de replicação e adicione DST_DB como um banco de dados permitido:
-- on primary account create replication group connector_rep_group_prim object_types = databases allowed_databases = dst_db allowed_accounts = myorg.account_sec replication_schedule = '10 minute';
Configuração da replicação na conta secundária
Para replicar o DST_DB da conta primária para a conta secundária, crie um novo grupo de replicação na conta secundária:
-- on secondary account create replication group connector_rep_group_sec as replica of myorg.account_prim.connector_rep_group_prim; alter replication group connector_rep_group_sec refresh;
Nesse momento, um banco de dados DST_DB somente leitura deve ser criado na conta secundária, e os dados da conta primária serão replicados de acordo com o cronograma configurado.
Instalação do conector na conta secundária
Instale e configure o Snowflake Connector for ServiceNow® na conta secundária da mesma forma que na conta primária. Direcione a instância para ingerir dados no banco de dados e no esquema replicados. Enquanto a replicação estiver em andamento (até que o grupo de replicação na conta secundária seja descartado), o banco de dados estará no modo somente leitura. O conector pode ser configurado para usar um banco de dados somente leitura como destino de ingestão; no entanto, ele não pode ingerir dados até que o banco de dados faça a transição para o modo de leitura e gravação.
Depois de configurar o conector na conta secundária, pause o conector executando:
-- on secondary account call pause_connector();
Nesse ponto, o conector está instalado e pronto para assumir o controle se a conta primária falhar.
Procedimento de recuperação¶
Quando a implementação primária ficar indisponível, configure a instância do conector na conta secundária para continuar a ingestão.
Importante
Todas as etapas devem ser executadas na conta secundária.
Remover o grupo de replicação
Elimine o grupo de replicação na conta secundária para fazer a transição do banco de dados replicado para o modo de leitura e gravação:
drop replication group connector_rep_group_sec;
Conceder a propriedade de objetos de bancos de dados existentes ao conector
Conceda a propriedade de todos os objetos no esquema replicado ao conector executando:
call system$grant_ownership_to_application('app_sec', true, 'dst_db', 'dst_schema');
Importar o estado
Inicialize o conector com o estado replicado da conta primária:
call import_state(true);
Retomar o conector
Retome o conector executando:
call resume_connector();
Nesse momento, o conector da conta secundária deve retomar a ingestão de dados, continuando de onde o conector da conta primária parou.
Nota
Certifique-se de que as contas primária e secundária façam parte da mesma organização. O cronograma de replicação pode ser ajustado de acordo com seus requisitos.