Seguimiento de cambios de SQL Server para Replicación de SQL Server en tiempo real

¿Qué es el Seguimiento de cambios de SQL Server?

El seguimiento de cambios de SQL Server es una forma de capturar todos los cambios realizados en una base de datos de Microsoft SQL Server. Se capturan todas las inserciones, actualizaciones o eliminaciones realizadas en cualquiera de las tablas realizadas en una ventana de tiempo especificada. Esta información está disponible para fines de replicación de SQL Server. El seguimiento de cambios de SQL lee los registros de transacciones para encontrar los cambios de datos y registra los cambios para facilitar su uso. Es un mecanismo extremadamente ligero para capturar los cambios incrementales en una ventana especificada. También obtenga información sobre SQL Server CDC y Oracle CDC

El seguimiento de cambios de SQL es una parte integral de la replicación de SQL Server

Cuando es necesario transferir o replicar datos a lagos de datos o almacenes de datos desde una base de datos de SQL Server, la funcionalidad de seguimiento de cambios de SQL es especialmente útil, ya que ayuda a replicar datos incrementales de manera eficiente, de modo que el lago/ almacén de datos esté siempre actualizado y sea un lugar centralizado para el acceso a datos desde diferentes repositorios de SQL Server.

SQL Server es un sistema de gestión de bases de datos relacionales desarrollado por Microsoft. Su función principal es almacenar y recuperar datos de manera eficiente y generalmente es utilizada por aplicaciones para el almacenamiento y recuperación de datos. Las versiones de SQL Server 2008 y posteriores admiten la funcionalidad de seguimiento de cambios.

Seguimiento de cambios de SQL Server-puntos a tener en cuenta:

  • Todas las ediciones de SQL Server admiten esta funcionalidad
  • Debe habilitar el Seguimiento de cambios a nivel de base de datos Y a nivel de tabla para todas las tablas a las que se deba realizar un seguimiento
  • Las tablas deben tener una clave primaria definida en la base de datos

Estos pasos se explican en detalle a continuación:

Para habilitar el Seguimiento de cambios

ALTER DATABASE databasename
SET CHANGE_TRACKING = ON
(CHANGE_RETENTION = 7 DÍAS, AUTO_CLEANUP = ON)

Por ejemplo:

ALTER DATABASE Adventureworks2019
ESTABLECER CHANGE_TRACKING = ON
(CHANGE_RETENTION = 7 DÍAS, AUTO_CLEANUP = ON)

A nivel de tabla:

USAR <nombre de base de datos>
IR
ALTER TABLE nombrede tabla
HABILITAR CHANGE_TRACKING
CON (TRACK_COLUMNS_UPDATED = ON);

Por ejemplo:

USE Adventureworks2019
GO
ALTER TABLE DimCustomer
HABILITE CHANGE_TRACKING
CON (TRACK_COLUMNS_UPDATED = ON);

Compruebe si CAMBIA El seguimiento se ha habilitado a nivel de base de datos

SELECCIONE *
DE sys.change_tracking_databases
DONDE database_id = DB_ID (‘databasename’);

Por ejemplo:

SELECCIONE *
DE sys.change_tracking_databases
DONDE database_id = DB_ID (‘Adventureworks2019’);

Resultados:

Compruebe si el seguimiento de cambios está habilitado a nivel de tabla

USE databasename;
SELECCIONE sys.schemas.name como schema_name, sys.tables.name como table_name
DE sys.change_tracking_tables
JOIN sys.tablas EN sys.tabla.object_id = sys.change_tracking_tables.object_id
JOIN sys.esquemas EN sys.esquemas.schema_id = sys.tabla.schema_id;

Por ejemplo:

USE Adventureworks2019;
SELECCIONE sys.schemas.name como schema_name, sys.tables.name como table_name
DE sys.change_tracking_tables
JOIN sys.tablas EN sys.tabla.object_id = sys.change_tracking_tables.object_id
JOIN sys.esquemas EN sys.esquemas.schema_id = sys.tabla.schema_id;

Resultados:

Seguimiento de cambios de SQL Server: Pros y Contras

  • La tabla debe tener definida una clave primaria. El seguimiento de cambios no se puede aplicar a tablas sin clave principal.

Beneficios

  • Una solución extremadamente ligera, el seguimiento de cambios es muy útil en la mayoría de los escenarios.
  • Es compatible con todas las ediciones de SQL Server, lo que la convierte en una solución muy versátil.

Limitaciones o desafíos de seguimiento de cambios de SQL Server con codificación personalizada

  • Aunque la funcionalidad nativa de Seguimiento de cambios de SQL Server ayuda a capturar los cambios, hay que realizar una codificación significativa para capturar estos cambios y usarlos para la replicación SQL en un Almacén de Datos o Lago de Datos.
  • No solo es necesario tener en cuenta la fiabilidad y la robustez, sino que el mantenimiento continuo, los problemas de datos y el manejo de nuevas tablas y tipos de datos se convierten en un problema continuo para las empresas.
  • La solución de alerta y monitoreo también debe codificarse a mano, y cuando observa los diferentes componentes necesarios para que esto funcione, una solución codificada a mano no ofrece un tiempo de valoración rápido y puede ser costosa de desarrollar y mantener.

La forma automatizada y sin código de capturar cambios desde SQL Server es utilizando BryteFlow

  • BryteFlow es una herramienta basada en GUI que ayuda a capturar los cambios desde SQL Server con Seguimiento de cambios y varios otros mecanismos. Leer más sobre la solución
  • Es una forma sin código de transferir sus datos a varios almacenes de datos y lagos de datos
  • Crea los esquemas automáticamente en el destino con los tipos de datos óptimos e implementa las mejores prácticas para el destino
  • Los datos replicados en el destino se pueden almacenar automáticamente con el historial de tipo 2 de SCD si se configuran
  • Conciliación de datos automatizada y sofisticada: esta es otra característica de nivel empresarial que normalmente no se ofrece en el mercado
  • BryteFlow ofrece replicación de SQL server de nivel empresarial y seguridad a prueba de agua para instalaciones locales, en la nube o con un enfoque híbrido.

Conclusión

En contraste con el enfoque de codificación intensiva, ofrecemos replicación de SQL Server fácil y en tiempo real con Seguimiento de cambios mediante BryteFlow. Solo tienes que apuntar y hacer clic para configurarlo. Replica grandes volúmenes de datos fácilmente con sincronización inicial en subprocesos paralelos y particiones seguidas de sincronización delta. Las tablas se crean automáticamente con datos actualizados o con historial de tipo 2 de SCD. Obtiene varias opciones de captura de datos de cambio adecuadas para la versión o edición de SQL Server que está utilizando (todas las versiones/ediciones son compatibles). Prepárese para usar los datos en el destino, ya sea S3, Redshift, Snowflake, Azure Synapse o SQL Server.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.