SQL Server Change Tracking voor real-time SQL Server replicatie

Wat is SQL Server Change Tracking?

SQL Server Change Tracking is een manier om alle wijzigingen in een Microsoft SQL Server-database vast te leggen. Alle inserts, updates of verwijderingen gemaakt om een van de tabellen gemaakt in een opgegeven tijdvenster worden vastgelegd. Deze informatie wordt beschikbaar gesteld voor SQL Server-replicatiedoeleinden. SQL Change Tracking leest de transactielogboeken om gegevenswijzigingen te vinden en registreert de wijzigingen voor gebruiksgemak. Het is een extreem lichtgewicht mechanisme om de incrementele veranderingen in een opgegeven venster vast te leggen. Ook informatie over SQL Server CDC en Oracle CDC

SQL Change Tracking is een integraal onderdeel van SQL Server replicatie

wanneer gegevens moeten worden overgedragen of gerepliceerd naar data lakes of data warehouses vanuit een SQL Server database, is de SQL Change Tracking functionaliteit vooral nuttig omdat het helpt bij het efficiënt repliceren van incrementele gegevens, zodat de Data lake/ warehouse altijd up-to-date is en een centrale plaats is voor toegang tot gegevens vanuit verschillende SQL Server repositories.

SQL Server is een relationeel database management systeem ontwikkeld door Microsoft. De primaire functie is om gegevens efficiënt op te slaan en op te halen en wordt over het algemeen gebruikt door toepassingen voor gegevensopslag en ophalen. SQL Server versies 2008 en verder ondersteunen Change Tracking functionaliteit.

SQL Server Change Tracking-notitiepunten:

  • alle edities van SQL Server ondersteunen deze functionaliteit
  • u moet Change Tracking inschakelen op databaseniveau en op tabelniveau voor alle tabellen die moeten worden gevolgd
  • de tabellen moeten een primaire sleutel hebben gedefinieerd in de database

deze stappen worden hieronder in de diepte uitgelegd:

om Change Tracking

in te schakelen database databasenaam
SET change_tracking = on
(change_retention = 7 Days, Auto_cleanup = on)

bijvoorbeeld:

ALTER DATABASE Adventureworks2019
STEL CHANGE_TRACKING = OP
(CHANGE_RETENTION = 7 DAGEN, AUTO_CLEANUP = OP)

Op tabel niveau:

GEBRUIK <databasenaam>
NAAR
ALTER TABLE tabelnaam
INSCHAKELEN CHANGE_TRACKING
MET (TRACK_COLUMNS_UPDATED = OP);

Bijvoorbeeld:

GEBRUIK Adventureworks2019
NAAR
ALTER TABLE DimCustomer
INSCHAKELEN CHANGE_TRACKING
MET (TRACK_COLUMNS_UPDATED = OP);

Controleer of het Bijhouden van wijzigingen is ingeschakeld op database niveau

SELECT *
VAN sys.change_tracking_databases
waarbij database_id = DB_ID (‘databasename’);

bijvoorbeeld:

selecteer *
uit sys.change_tracking_databases
waar database_id = DB_ID (‘Adventureworks2019’);

resultaten:

Controleer of Change Tracking is ingeschakeld op tabelniveau

databasenaam gebruiken;
selecteren sys.schemas.name als schema_naam, sys.tables.name als table_name
van sys.change_tracking_tables
Word lid van sys.tafels op sys.tabel.object_id = sys.change_tracking_tables.object_id
JOIN sys.schema ‘ s op sys.schema ‘ s.schema_id = sys.tabel.schema_id;

bijvoorbeeld:

gebruik Adventureworks2019;
selecteer sys.schemas.name als schema_naam, sys.tables.name als table_name
van sys.change_tracking_tables
Word lid van sys.tafels op sys.tabel.object_id = sys.change_tracking_tables.object_id
JOIN sys.schema ‘ s op sys.schema ‘ s.schema_id = sys.tabel.schema_id;

resultaten:

SQL Server Change Tracking: voors en tegens

  • de tabel moet een primaire sleutel hebben gedefinieerd. Change Tracking kan niet worden toegepast voor tabellen zonder een primaire sleutel.

voordelen

  • een uiterst lichte oplossing, Change tracking is zeer nuttig in de meeste scenario ‘ s.
  • het wordt ondersteund door alle edities van SQL Server, waardoor dit een zeer veelzijdige oplossing is.

SQL Server Change Tracking beperkingen of uitdagingen met aangepaste codering

  • hoewel de native SQL Server Change Tracking functionaliteit helpt om veranderingen vast te leggen, is er belangrijke codering te doen, om deze veranderingen vast te leggen en ze te gebruiken voor SQL replicatie naar een Data Warehouse of Data Lake.
  • er moet niet alleen rekening worden gehouden met betrouwbaarheid en robuustheid, maar ook met voortdurend onderhoud, gegevensproblemen en het verwerken van nieuwe tabellen en gegevenstypen wordt een voortdurend probleem voor ondernemingen.
  • de waarschuwings-en bewakingsoplossing moet ook met de hand worden gecodeerd, en als je kijkt naar de verschillende componenten die nodig zijn om dit te laten werken, biedt een met de hand gecodeerde oplossing geen snelle time-to-value en kan het duur zijn om te ontwikkelen en te onderhouden.

de No-Code, geautomatiseerde manier om wijzigingen van SQL Server vast te leggen is door gebruik te maken van BryteFlow

  • BryteFlow is een GUI-gebaseerde tool die helpt om de wijzigingen van SQL Server vast te leggen met Change Tracking en verschillende andere mechanismen. Lees meer over de oplossing
  • Het is een no-code manier van het overbrengen van uw gegevens op verschillende data warehouses en data meren
  • Het maakt de schema ‘ s die automatisch op het doel met de optimale data types en implementeert best practices voor het doel
  • Gegevens worden gerepliceerd naar het slachtoffer kunt worden automatisch vastgehouden met de SCD type 2 geschiedenis als geconfigureerd
  • Geautomatiseerde, geavanceerde data verzoening – dit is een enterprise-klasse hebben meestal aangeboden in de markt
  • BryteFlow biedt het enterprise-klasse SQL server-replicatie en een waterdichte beveiliging voor installaties op locatie, in de cloud of via een hybride aanpak.

conclusie

in tegenstelling tot de codering-intensieve aanpak, bieden wij eenvoudige, real-time SQL Server replicatie met Change Tracking met behulp van BryteFlow. Gewoon wijzen en klikken om het op te zetten. Repliceer grote hoeveelheden gegevens eenvoudig met parallelle threaded initiële sync en partitionering gevolgd door delta sync. Tabellen worden automatisch gemaakt met data upserted of met SCD type 2 Geschiedenis. U krijgt meerdere opties voor het vastleggen van veranderingsgegevens die geschikt zijn voor de SQL Server-versie of-editie die u gebruikt (alle versies/edities worden ondersteund). Maak je klaar om gegevens te gebruiken op de bestemming of S3, Redshift, Snowflake, Azure Synapse of SQL Server.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.