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¶
Um administrador de banco de dados do SQL Server executa as seguintes tarefas:
Configura as definições de replicação do SQL Server e ativa o controle de alterações no banco de dados e nas tabelas.
Cria credenciais para o conector.
(Opcional) Fornece o certificado SSL.
Um administrador de conta Snowflake executa as seguintes tarefas:
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.
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 um esquema para tabelas de diários.
Cria os esquemas e as tabelas de destino que correspondem às tabelas de origem configuradas para replicação.
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:
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.
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.
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 |
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 |
Suporte para ✔ |
|
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 |
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.