Monitoraggio delle modifiche di SQL Server per la replica in tempo reale di SQL Server

Che cos’è il monitoraggio delle modifiche di SQL Server?

SQL Server Change Tracking è un modo per catturare tutte le modifiche apportate a un database Microsoft SQL Server. Vengono acquisiti eventuali inserimenti, aggiornamenti o eliminazioni effettuate in una qualsiasi delle tabelle create in una finestra temporale specificata. Queste informazioni sono rese disponibili per scopi di replica di SQL Server. SQL Change Tracking legge i registri delle transazioni per trovare le modifiche ai dati e registra le modifiche per facilità d’uso. È un meccanismo estremamente leggero per catturare le modifiche incrementali in una finestra specificata. Anche informazioni su SQL Server CDC e Oracle CDC

SQL il Rilevamento delle modifiche è parte integrante di replica di SQL Server

Quando i dati devono essere trasferiti o replicato dati laghi o magazzini di dati da un database SQL Server, SQL Modificare la funzionalità di Tracciamento è particolarmente utile in quanto aiuta a replicare incrementale dei dati in modo efficiente, in modo che i dati lago/ magazzino è sempre aggiornato ed è un luogo centralizzato per l’accesso ai dati da SQL Server diversi archivi.

SQL Server è un sistema di gestione di database relazionali sviluppato da Microsoft. La sua funzione principale è quella di archiviare e recuperare i dati in modo efficiente ed è generalmente utilizzata dalle applicazioni per l’archiviazione e il recupero dei dati. Le versioni di SQL Server dal 2008 in poi supportano la funzionalità di tracciamento delle modifiche.

SQL Server Change Tracking-punti da notare:

  • Tutte le edizioni di SQL Server che supportano questa funzionalità
  • Hai bisogno di attivare il Rilevamento delle modifiche a livello di database E a livello di tabella per tutte le tabelle che devono essere individuate
  • Le tabelle necessario disporre di una chiave primaria definita nel database

Questi passaggi sono spiegati in profondità sotto:

Per attivare il Rilevamento delle modifiche

ALTER DATABASE databasename
SET CHANGE_TRACKING = IN
(CHANGE_RETENTION = 7 GIORNI, AUTO_CLEANUP = ON)

Per Esempio:

ALTER DATABASE Adventureworks2019
SET CHANGE_TRACKING = IN
(CHANGE_RETENTION = 7 GIORNI, AUTO_CLEANUP = ON)

A livello di tabella:

USO <databasename>
VAI
ALTER TABLE nometabella
ABILITA CHANGE_TRACKING
CON (TRACK_COLUMNS_UPDATED = ON);

Per Esempio:

UTILIZZARE Adventureworks2019
VAI
ALTER TABLE DimCustomer
ABILITA CHANGE_TRACKING
CON (TRACK_COLUMNS_UPDATED = ON);

Controllare se il Rilevamento delle modifiche è stata attivata a livello di database

SELECT *
DA sys.change_tracking_databases
DOVE database_id = DB_ID (‘databasename’);

Ad esempio:

SELEZIONARE *
DA sys.change_tracking_databases
DOVE database_id = DB_ID (‘Adventureworks2019’);

Risultati:

Verificare se il tracciamento delle modifiche è abilitato a livello di tabella

USA nomebase;
SELEZIONA sys.schemas.name come nome_schema, sys.tables.name come nome_tabella
DA sys.change_tracking_tables
JOIN sys.tabelle SU sys.tavolo.object_id = sistema.change_tracking_tables.object_id
JOIN sys.schemi SU sys.schemi.schema_id = sistema.tavolo._id schema;

Ad esempio:

USA Adventureworks2019;
SELEZIONA sys.schemas.name come nome_schema, sys.tables.name come nome_tabella
DA sys.change_tracking_tables
JOIN sys.tabelle SU sys.tavolo.object_id = sistema.change_tracking_tables.object_id
JOIN sys.schemi SU sys.schemi.schema_id = sistema.tavolo.schema_id;

Risultati:

SQL Server Change Tracking: Pro e contro

  • La tabella deve avere una chiave primaria definita. Impossibile applicare il tracciamento delle modifiche per le tabelle senza una chiave primaria.

Vantaggi

  • Una soluzione estremamente leggera, Change tracking è molto utile nella maggior parte degli scenari.
  • È supportato da tutte le edizioni di SQL Server, rendendo questa soluzione molto versatile.

Limitazioni o problemi di monitoraggio delle modifiche di SQL Server con la codifica personalizzata

  • Sebbene la funzionalità nativa di monitoraggio delle modifiche di SQL Server aiuti a catturare le modifiche, è necessario eseguire una codifica significativa per acquisire queste modifiche e utilizzarle per la replica SQL in un Data Warehouse o Data Lake.
  • Non solo l’affidabilità e la robustezza devono essere soddisfatte, ma la manutenzione continua, i problemi di dati e la gestione di nuove tabelle e tipi di dati diventa un problema in corso per le imprese.
  • La soluzione di allarme e monitoraggio deve essere codificata a mano, e quando si guardano i diversi componenti necessari per farlo funzionare, una soluzione codificata a mano non offre un rapido time to value e può essere costosa da sviluppare e mantenere.

Il Nessun codice, modo automatico per catturare le modifiche da SQL Server è utilizzando BryteFlow

  • BryteFlow è uno strumento basato su GUI che aiuta a catturare le modifiche da SQL Server con Change Tracking e molti altri meccanismi. Per saperne di più circa la soluzione
  • è un codice in modo di trasferire i dati su dati vari magazzini e i dati di laghi
  • crea gli schemi automaticamente sul bersaglio con il massimo dei tipi di dati e implementa le migliori pratiche per la obiettivo
  • Dati replicati per la destinazione può essere ritenuto automaticamente con SCD tipo 2 storia se configurato
  • Automatizzato, sofisticati di riconciliazione dei dati – questo è un altro di funzionalità di livello enterprise in genere non offre il mercato
  • BryteFlow offre di classe enterprise di replica di SQL server e a tenuta di sicurezza per installazioni on-premise, sul cloud o utilizzando un approccio ibrido.

Conclusione

In contrasto con l’approccio ad alta intensità di codifica, offriamo facile, replica SQL Server in tempo reale con il monitoraggio delle modifiche utilizzando BryteFlow. Basta puntare e fare clic per impostare. Replica facilmente grandi volumi di dati con sincronizzazione iniziale e partizionamento con thread parallelo seguiti da delta sync. Le tabelle vengono create automaticamente con upserted dati o con SCD tipo 2 storia. È possibile ottenere più opzioni di acquisizione dei dati di modifica appropriate per la versione o l’edizione di SQL Server in uso (tutte le versioni/edizioni supportate). Preparatevi a utilizzare i dati a destinazione se S3, Redshift, fiocco di neve, Azure Synapse o SQL Server.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.