SQL Server Change Tracking pentru timp real SQL Server Replication

ce este SQL Server Change Tracking?

SQL Server Change Tracking este o modalitate de a captura toate modificările aduse unei baze de date Microsoft SQL Server. Orice inserturi, actualizări sau ștergeri făcute la oricare dintre tabelele realizate într-o fereastră de timp specificată sunt capturate. Aceste informații sunt puse la dispoziție în scopuri de replicare SQL Server. SQL Change Tracking citește jurnalele de tranzacții pentru a găsi modificările de date și înregistrează modificările pentru ușurința de utilizare. Este un mecanism extrem de ușor pentru a capta modificările incrementale într-o fereastră specificată. Aflați, de asemenea, despre SQL Server CDC și Oracle CDC

SQL Change Tracking este o parte integrantă a replicării SQL Server

când datele trebuie transferate sau reproduse în lacuri de date sau depozite de date dintr-o bază de date SQL Server, funcționalitatea SQL Change Tracking este utilă în special deoarece ajută la replicarea eficientă a datelor incrementale, astfel încât lacul/ depozitul de date este întotdeauna actualizat și este un loc centralizat pentru accesul la date din diferite depozite SQL Server.

SQL Server este un sistem de gestionare a bazelor de date relaționale dezvoltat de Microsoft. Funcția sa principală este de a stoca și de a prelua datele în mod eficient și este utilizată în general de aplicațiile pentru stocarea și recuperarea datelor. Versiunile SQL Server 2008 în continuare acceptă funcționalitatea de urmărire a modificărilor.

urmărirea modificărilor SQL Server-puncte de reținut:

  • toate edițiile SQL Server acceptă această funcționalitate
  • trebuie să activați urmărirea modificărilor la nivel de bază de date și la nivel de tabel pentru toate tabelele care trebuie urmărite
  • tabelele trebuie să aibă o cheie primară definită în baza de date

acești pași sunt explicați în profunzime mai jos:

pentru a activa urmărirea modificărilor

ALTER DATABASE DatabaseName
set Change_tracking = pe
(change_retention = 7 zile, Auto_cleanup = pe)

de exemplu:

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

la nivel de tabel:

utilizare <databasename>
GO
ALTER TABLE tablename
ENABLE change_tracking
cu (TRACK_COLUMNS_UPDATED = on);

de exemplu:

utilizați ADVENTUREWORKS2019
go
ALTER TABLE dimcustomer
activați change_tracking
cu (track_columns_updated = on);

verificați dacă schimbarea urmărirea a fost activată la nivel de bază de date

selectați *
din sys.change_tracking_databases
unde database_id = DB_ID(‘databasename’);

de exemplu:

selectați *
din sys.change_tracking_databases
unde database_id = DB_ID (‘Adventureworks2019’);

rezultate:

verificați dacă urmărirea modificărilor este activată la nivelul tabelului

utilizați numele bazei de date;
selectați sys.schemas.name ca schema_name, sys.tables.name ca nume_tabel
din sys.change_tracking_tables
Alăturați-vă sys.tabele pe sys.mese.object_id = sys.schimbare_tracking_tables.object_id
Alăturați-vă sys.scheme pe sys.scheme.schema_id = sys.mese.schemat_d;

de exemplu:

utilizați Adventureworks2019;
selectați sys.schemas.name ca schema_name, sys.tables.name ca nume_tabel
din sys.change_tracking_tables
Alăturați-vă sys.tabele pe sys.mese.object_id = sys.schimbare_tracking_tables.object_id
Alăturați-vă sys.scheme pe sys.scheme.schema_id = sys.mese.schema_id;

rezultate:

SQL Server Change Tracking: Pro și contra

  • tabelul trebuie să aibă o cheie primară definită. Urmărirea modificărilor nu poate fi aplicată pentru tabele fără o cheie primară.

beneficii

  • o soluție extrem de ușoară, urmărirea schimbărilor este foarte utilă în majoritatea scenariilor.
  • este acceptat de toate edițiile SQL Server, făcând din aceasta o soluție foarte versatilă.

limitări sau provocări de urmărire a modificărilor SQL Server cu codificare personalizată

  • deși funcționalitatea nativă de urmărire a modificărilor SQL Server ajută la captarea modificărilor, trebuie făcută o codificare semnificativă, pentru a captura aceste modificări și a le utiliza pentru replicarea SQL într-un depozit de date sau lac de date.
  • nu numai că trebuie satisfăcute fiabilitatea și robustețea, dar întreținerea continuă, problemele de date și gestionarea noilor tabele și tipuri de date devin o problemă continuă pentru întreprinderi.
  • soluția de alertare și monitorizare trebuie să fie și codificată manual, iar atunci când te uiți la diferitele componente necesare pentru ca acest lucru să funcționeze, o soluție codificată manual nu oferă timp rapid de valoare și poate fi costisitoare de dezvoltat și întreținut.

nici un cod, mod automat pentru a captura modificări de la SQL Server este prin utilizarea BryteFlow

  • BryteFlow este un instrument bazat GUI care ajută pentru a captura modificările de la SQL Server cu schimbarea de urmărire și mai multe alte mecanisme. Citiți mai multe despre soluția
  • este o modalitate fără cod de a transfera datele dvs. către diverse depozite de date și lacuri de date
  • creează schemele automat pe țintă cu tipurile de date optime și implementează cele mai bune practici pentru țintă
  • datele reproduse la țintă pot fi păstrate automat cu istoricul SCD type 2 dacă este configurat
  • reconciliere automată și sofisticată a datelor-aceasta este o altă caracteristică de nivel de întreprindere care nu este oferită în mod obișnuit pe piață
  • bryteflow oferă replicare sql server de calitate Enterprise și securitate etanșă pentru instalații on-premises, pe cloud sau folosind o abordare hibridă.

concluzie

spre deosebire de abordarea intensivă în codificare, oferim replicare SQL Server ușoară, în timp real, cu urmărirea modificărilor folosind BryteFlow. Doar punct și faceți clic pentru a configura. Replicați volume mari de date cu ușurință cu sincronizare inițială filetată paralelă și partiționare urmată de sincronizare delta. Tabelele sunt create automat cu date upserted sau cu SCD tip 2 Istorie. Obțineți mai multe opțiuni de captare a datelor de modificare adecvate pentru versiunea sau ediția SQL Server pe care o utilizați (toate versiunile/edițiile acceptate). Pregătiți-vă să utilizați datele la destinație dacă S3, Redshift, Snowflake, Azure Synapse sau SQL Server.

Lasă un răspuns

Adresa ta de email nu va fi publicată.