Sobre a Openflow Connector for SQL Server

Nota

This connector is subject to the Snowflake Connector Terms.

This topic describes the basic concepts, workflow, and limitations of the Openflow Connector for SQL Server.

Use the Openflow Connector for SQL Server to connect multiple SQL Server databases in a single SQL Server instance to a Snowflake database and replicate data in near real-time or on a specified schedule.

The connector performs CDC replication of Microsoft SQL Server data with Snowflake for comprehensive, centralized reporting.

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. Configures SQL Server replication settings and enables change tracking on the databases and tables being replicated.

    2. Cria credenciais para o conector.

    3. (Optional) Provides the SSL certificate to connect to the SQL Server instance over 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.

The connector does the following when run in Openflow:

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

  2. Begins replication according to the table replication lifecycle.

    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

The connector replicates tables in the following stages:

  1. Schema introspection: The connector discovers the columns in the source table, including the column names and types, then validates them against Snowflake’s and the connector’s limitations. Validation failures cause this stage to fail, and the cycle completes. After successful completion of this stage, the connector creates an empty destination table.

  2. Snapshot load: The connector copies all data available in the source table into the destination table. If this stage fails, the connector stops replicating data. After successful completion, the data from the source table is available in the destination table.

  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

Interim failures, such as connection errors, do not prevent table replication. However, permanent failures, such as unsupported data types, prevent table replication. If a permanent failure prevents table replication, remove the table from the list of tables to be replicated. After you address the problem that caused the failure, you can add the table back to the list of tables to be replicated.

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

Not yet supported

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.

  • The connector only replicates database tables that contain primary keys.

  • The connector does not update existing records in the Snowflake database when a new NOT NULL column with a default value is added to one of the source databases.

  • 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.

  • After you delete a column in one of the source databases and add it back with the same name, additional deletes cause errors.

  • After you include a column in Column Filter JSON and exclude it, additional include attempts cause errors.

  • The connector supports source table schema changes, except for changing primary key definitions, changing the precision, or the scale of a numeric column.

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

  • The connector does not support re-adding a column after it is dropped.

Nota

You can bypass limitations affecting certain table columns by excluding these specific columns from replication.

Próximos passos

Configure o Openflow Connector for SQL Server