Sobre a Openflow Connector for SQL Server

Nota

O conector está sujeito aos Termos do conector Snowflake.

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

Use o Openflow Connector for SQL Server para conectar vários bancos de dados de servidor SQL em uma única instância do servidor SQL a um banco de dados Snowflake e replicar os dados quase em tempo real ou conforme um cronograma especificado.

O conector executa a replicação CDC dos dados do Microsoft SQL Server com o Snowflake para gerar relatórios abrangentes e centralizados.

Fluxo de trabalho

O fluxo de trabalho a seguir descreve as etapas para configurar e executar o Openflow Connector for SQL Server:

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

    1. Define as configurações de replicação do servidor SQL e habilita o rastreamento de alterações nos bancos de dados e nas tabelas que estão sendo replicados.

    2. Cria credenciais para o conector.

    3. (Opcional) Fornece o certificado SSL para conexão com a instância do servidor SQL por meio do SSL.

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

    1. Cria um usuário de serviço para o conector, um banco de dados de destino para armazenar os dados replicados e um warehouse para o conector.

    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 os esquemas e as tabelas de destino que correspondem às tabelas de origem configuradas para replicação.

  2. Inicia a replicação de acordo com o ciclo de vida de replicação da tabela.

    Para obter mais informações, consulte Como as tabelas são replicadas.

Replicar dados de tabelas em vários bancos de dados de servidor SQL

O conector oferece suporte à replicação de tabelas de vários bancos de dados de servidor SQL em uma única instância do servidor SQL. O conector cria tabelas replicadas de diferentes bancos de dados em esquemas separados no banco de dados Snowflake de destino.

Referencie as tabelas replicadas combinando o nome do banco de dados de origem, o nome do esquema de origem e o nome da tabela no formato a seguir:

<database_name>.<schema_name>.<table_name>

Para cada esquema em cada banco de dados de origem replicado, o conector cria um esquema separado no banco de dados Snowflake de destino. O nome do esquema de destino é uma combinação do nome do banco de dados de origem e do nome do esquema de origem, separados por um caractere de sublinhado (_), conforme mostrado no exemplo a seguir:

<source_database_name>_<source_schema_name>

O conector cria tabelas no esquema de destino com o mesmo nome do nome da tabela de origem, conforme mostrado no exemplo a seguir:

<destination_database>_<destination_schema_name>.<source_table_name>

Como as tabelas são replicadas

O conector replica tabelas nas seguintes áreas de preparação:

  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. O conector descobre as colunas da tabela de origem, incluindo os nomes e os tipos de colunas, e as valida de acordo com as limitações do Snowflake e do conector. 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. Em caso de falha nessa área de preparação, o conector para de replicar os dados. Após a conclusão bem-sucedida, os dados da tabela de origem ficarão 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.

    Para obter informações de como ignorar o carregamento de instantâneos e usar o processo de carregamento incremental, consulte Replicação incremental.

Nota

Falhas temporárias, como erros de conexão, não impedem a replicação das tabelas. Entretanto, falhas permanentes, como tipos de dados incompatíveis, impedem a replicação das tabelas. 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

Ainda sem suporte

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

Suporte para ✔

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

  • Não é possível executar vários conectores do mesmo tipo em uma única instância de tempo de execução.

  • 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 replica apenas tabelas de banco de dados que contêm chaves primárias.

  • O conector não atualiza os registros existentes no banco de dados Snowflake quando uma nova coluna NOT NULL com um valor padrão é adicionada a um dos bancos 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.

  • Depois que você excluir uma coluna de um dos bancos de dados de origem e adicioná-la novamente com o mesmo nome, as exclusões adicionais causarão erros.

  • Depois que você incluir uma coluna em Column Filter JSON e a excluir, as tentativas de inclusão adicionais causarão erros.

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

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

  • O conector não oferece suporte à nova adição de uma coluna depois que ela é descartada.

Nota

Você pode ignorar limitações que afetam determinadas colunas da tabela excluindo as colunas específicas da replicação.

Próximos passos

Configure o Openflow Connector for SQL Server