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:
Um administrador de banco de dados do SQL Server executa as seguintes tarefas:
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.
Cria credenciais para o conector.
(Opcional) Fornece o certificado SSL para conexão com a instância do servidor SQL por meio do SSL.
Um administrador de conta Snowflake executa as seguintes tarefas:
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.
Instala o conector.
Especifica os parâmetros necessários para a definição do fluxo do conector.
Executa o fluxo.
O conector faz o seguinte quando executado no Openflow:
Cria os esquemas e as tabelas de destino que correspondem às tabelas de origem configuradas para replicação.
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:
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.
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.
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 |
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 |
Todos os tipos de instância |
Ainda sem suporte |
|
Todos os tipos de instância |
Suporte para ✔ |
||
SQL Server em VM Azure |
Todos |
Não testado |
|
AWS |
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.