SQL Server Change Tracking for real-time SQL Server Replication

What is SQL Server Change Tracking?

SQL Server Change Tracking is a way to capture all changes made to a Microsoft SQL Server database. Quaisquer inserções, atualizações ou apagamentos feitos em qualquer uma das tabelas feitas em uma janela de tempo especificado são capturados. Esta informação é disponibilizada para fins de replicação do servidor SQL. SQL Change Tracking lê os logs de transação para encontrar alterações de dados e registra as alterações para facilidade de uso. É um mecanismo leve extremo para capturar as mudanças incrementais em uma janela especificada. Saiba também sobre o SQL Server CDC e Oracle CDC

SQL o controle de alterações é parte integrante da replicação do SQL Server

Quando os dados precisam ser transferidos ou replicados para dados lagos ou armazéns de dados a partir de um banco de dados SQL Server, o SQL de Alteração de controlo de funcionalidade é especialmente útil, pois ajuda na replicação incremental de dados de forma eficiente, para que os dados lago/ armazém está sempre atualizado e é um local centralizado para acesso a dados a partir de diferentes repositórios do SQL Server.

SQL Server é um sistema de gerenciamento de banco de dados relacional desenvolvido pela Microsoft. Sua função principal é armazenar e recuperar dados de forma eficiente e é geralmente usado por aplicações para armazenamento e recuperação de dados. As versões do SQL Server 2008 em diante suportam a funcionalidade de rastreamento de mudanças.

SQL Server Change Tracking-points to note:

  • Todas as edições do SQL Server oferece suporte a essa funcionalidade
  • Você precisa ativar o controle de alterações no banco de dados de nível E no nível de tabela para todas as tabelas que precisam ser controladas
  • As tabelas precisam ter uma chave primária definida no banco de dados

Estes passos são explicados em profundidade abaixo:

Para habilitar o controle de alterações

ALTERAR BANCO de dados databasename
DEFINIR CHANGE_TRACKING = ON
(CHANGE_RETENTION = 7 DIAS, AUTO_CLEANUP = ON)

Por Exemplo:

ALTER DATABASE Adventureworks2019
DEFINIR CHANGE_TRACKING = ON
(CHANGE_RETENTION = 7 DIAS, AUTO_CLEANUP = ON)

No nível de tabela:

USE <databasename>
IR p
ALTER TABLE nome_da_tabela
ATIVAR CHANGE_TRACKING
COM (TRACK_COLUMNS_UPDATED = ON);

Por Exemplo:

USAR Adventureworks2019
IR p
ALTER TABLE DimCustomer
ATIVAR CHANGE_TRACKING
COM (TRACK_COLUMNS_UPDATED = ON);

Verifique se o controle de alterações foi habilitado no nível de banco de dados

SELECT *
FROM sys.change_tracking_ databases
WHERE database_id = DB_ID (‘databasename’);

For example:

SELECT *
FROM sys.change_tracking_databases
ONDE database_id = DB_ID(‘Adventureworks2019’);

Resultados:

Verifique se o controle de alterações está ativado no nível de tabela

USE databasename;
SELECIONE sys.esquemas.nome schema_name, sys.tabelas.nome table_name
FROM sys.change_tracking_tables
JOIN sys.tables ON sys.tabela.object_id = sys.change_tracking_tables.object_id
JOIN sys.esquemas no sys.esquema.schema_id = sys.tabela.esquema_id;

por exemplo:

USE Aventureworks2019;
SELECT sys.schemas.name como esquema_name, sys.tables.name como table_name
FROM sys.change_tracking_tables
JOIN sys.tables ON sys.tabela.object_id = sys.change_tracking_tables.object_id
JOIN sys.esquemas no sys.esquema.schema_id = sys.tabela.esquema_id;

resultados:

SQL Server Change Tracking: Pros and Cons

  • the table needs to have a primary key defined. O acompanhamento de alterações não pode ser aplicado a tabelas sem uma chave primária.

benefícios

  • uma solução de peso extremamente leve, acompanhamento de mudanças é muito útil na maioria dos cenários.
  • é suportado por todas as edições do servidor SQL, tornando esta uma solução muito versátil.

SQL Server Alterar Rastreamento limitações ou problemas com a codificação personalizada

  • Apesar de o nativo do SQL Server Mudança de controlo de funcionalidade ajuda-o a capturar as mudanças, há uma significativa codificação a ser feito, para capturar essas alterações e usá-los para a replicação do SQL para um Armazém de Dados ou Dados Lago.
  • não só a fiabilidade e a robustez precisam de ser tidas em conta, mas também a manutenção contínua, as questões de dados e o tratamento de novas tabelas e tipos de dados tornam-se uma questão permanente para as empresas.
  • a solução de alerta e monitorização também precisa de ser codificada à mão, e quando você olha para os diferentes componentes necessários para fazer com que isto funcione, uma solução codificada à mão não oferece um tempo rápido para o valor e pode ser caro para desenvolver e manter.

A Nenhum Código, e de forma automática para capturar as alterações do SQL Server está usando BryteFlow

  • BryteFlow é uma GUI baseada ferramenta que ajuda a capturar as alterações do SQL Server com o controle de alterações e de vários outros mecanismos. Leia mais sobre a solução
  • é um código de transferir os seus dados para vários armazéns de dados e dados de lagos
  • Ele cria os esquemas automaticamente no alvo com o ideal de tipos de dados e implementa as melhores práticas para o alvo
  • Dados replicados para o alvo pode ser realizada automaticamente com SCD tipo 2 história se configurado
  • Automatizada, sofisticado reconciliação de dados – esta é uma outra empresa grau de recurso normalmente não são oferecidos no mercado
  • BryteFlow oferece enterprise grau de replicação do SQL server e à prova de água segurança para instalações nas instalações, na nuvem ou utilizando uma abordagem híbrida.

Conclusion

In contrast to the coding-intensive approach, we offer easy, real-time SQL Server replication with Change Tracking using BryteFlow. Basta apontar e clicar para configurar. Replicar grandes volumes de dados facilmente com sincronização inicial e particionamento paralelo, seguido de sincronização delta. As tabelas são criadas automaticamente com o histórico de dados upsertidos ou SCD tipo 2. Você obtém várias opções de captura de dados de mudança apropriadas para a versão do servidor SQL ou edição que você está usando (todas as versões/edições suportadas). Prepare-se para usar os dados no destino, seja S3, Redshift, Snowflake, Azure Synapse ou SQL Server.

Deixe uma resposta

O seu endereço de email não será publicado.