Sobre a Openflow Connector for SQL Server

Nota

This connector is subject to the Snowflake Connector Terms.

Este tópico descreve os conceitos básicos do Openflow Connector for SQL Server, seu fluxo de trabalho e suas limitações.

O Openflow Connector for SQL Server conecta uma instância de banco de dados do SQL Server ao Snowflake e replica dados de tabelas selecionadas quase em tempo real ou em um cronograma específico.

Use esse conector se quiser fazer o seguinte:

  • Replicação de CDC dos dados do Microsoft SQL Server com o Snowflake para gerar relatórios abrangentes e centralizados

Fluxo de trabalho

  1. Um administrador de banco de dados do SQL Server executa as seguintes tarefas:

    1. Configura as definições de replicação do SQL Server e ativa o controle de alterações no banco de dados e nas tabelas.

    2. Cria credenciais para o conector.

    3. (Opcional) Fornece o certificado SSL.

  2. Um administrador de conta Snowflake executa as seguintes tarefas:

    1. Cria um usuário de serviço para o conector, um warehouse para o conector e um banco de dados de destino para o qual replicar.

    2. Instala o conector.

    3. Especifica os parâmetros necessários para a definição do fluxo do conector.

    4. Executa o fluxo. O conector faz o seguinte quando executado no Openflow:

      1. Cria um esquema para tabelas de diários.

      2. Cria os esquemas e as tabelas de destino que correspondem às tabelas de origem configuradas para replicação.

      3. Inicia a replicação seguindo o ciclo de vida da replicação de tabelas, conforme descrito em Como as tabelas são replicadas.

Como as tabelas são replicadas

As tabelas são replicadas nos seguintes estágios:

  1. Introspecção de esquema: o conector descobre as colunas na tabela de origem, incluindo os nomes e tipos de coluna, e as valida em relação às limitações do Snowflake e do conector. As falhas de validação fazem com que esse estágio falhe, e o ciclo se complete. Após a conclusão bem-sucedida desse estágio, o conector cria uma tabela de destino vazia.

  2. Carga de instantâneo: o conector copia todos os dados disponíveis na tabela de origem para a tabela de destino. Se esse estágio falhar, nenhum outro dado será replicado. Após a conclusão bem-sucedida, os dados da tabela de origem ficam disponíveis na tabela de destino.

  3. Carga incremental: o conector rastreia as alterações na tabela de origem e aplica essas alterações à tabela de destino. Esse processo continua até que a tabela seja removida da replicação. A falha nesse estágio interrompe permanentemente a replicação da tabela de origem, até que o problema seja resolvido.

Nota

As falhas intermediárias (como erros de conexão) não impedem que a tabela seja replicada. No entanto, falhas permanentes (como tipos de dados não compatíveis) impedem que a tabela seja replicada. Se uma falha permanente impedir a replicação de uma tabela, remova a tabela da lista de tabelas a serem replicadas. Após resolver o problema que causou a falha, você pode adicionar a tabela novamente à lista de tabelas a serem replicadas.

Versões compatíveis do servidor SQL

A tabela a seguir lista as versões testadas e oficialmente compatíveis do SQL Server:

Plataforma

Serviço/versão

Edição/nível

Com suporte

No local

Microsoft SQL Server 2022

Developer, Enterprise, Standard

Suporte para ✔

Microsoft SQL Server 2019

Developer, Enterprise, Standard

Suporte para ✔

Microsoft SQL Server 2017

Developer, Enterprise, Standard

Suporte para ✔

Microsoft SQL Server 2016

Developer, Enterprise, Standard

Suporte para ✔

Microsoft SQL Server 2014

Todos

Não testado

Microsoft SQL Server 2012

Todos

Não testado

Azure

Azure SQL Database

Todos os tipos de instância

Suporte para ✔

Instância gerenciada SQL do Azure

Todos os tipos de instância

Suporte para ✔

SQL Server em VM Azure

Todos

Não testado

AWS

AWS RDS para SQL Server

Todos os tipos de instância

Suporte para ✔

SQL Server para Amazon EC2

Todos

Não testado

Google Cloud

Google Cloud SQL para SQL Server

Todos

Não testado

Requisitos do Openflow

  • O tamanho do tempo de execução deve ser pelo menos médio. Use um tempo de execução maior ao replicar grandes volumes de dados, especialmente quando o tamanho das linhas for grande.

  • O conector não oferece suporte a tempos de execução do Openflow de vários nós. Configure o tempo de execução para esse conector com Min nodes e Max nodes definidos como 1.

Limitações

  • O conector apenas oferece suporte à autenticação de nome de usuário e senha com o SQL Server.

  • O conector replica apenas tabelas com tipos de dados compatíveis com o Snowflake. Para obter uma lista desses tipos de dados, consulte Resumo dos tipos de dados.

  • O conector exige que cada tabela replicada tenha uma chave primária.

  • O conector não atualiza os registros existentes no banco de dados do Snowflake quando uma nova coluna NOT NULL com um valor padrão é adicionada ao banco de dados de origem.

  • O conector não atualiza os registros existentes no banco de dados do Snowflake quando uma nova coluna é adicionada à lista incluída no Column Filter JSON.

  • Após excluir a coluna no banco de dados de origem e adicioná-la novamente com o mesmo nome, exclusões adicionais causarão erros.

  • Após incluir uma coluna no Column Filter JSON e excluí-la, tentativas adicionais de inclusão causarão erros.

  • O conector oferece suporte a alterações no esquema da tabela de origem, com exceção da alteração das definições de chave primária, da precisão ou da escala de uma coluna numérica.

  • O conector não é compatível com a operação de truncamento de tabela.

Nota

As limitações que afetam determinadas colunas da tabela podem ser contornadas com a exclusão dessas colunas específicas da replicação.

Próximos passos

Configure o Openflow Connector for SQL Server