SQL Server Change Tracking for real-time SQL Server Replication

co to jest SQL Server Change Tracking?

śledzenie zmian w SQL Server to sposób przechwytywania wszystkich zmian wprowadzonych w bazie danych Microsoft SQL Server. Wszelkie wstawianie, aktualizacje lub usuwanie tabel dokonane w określonym oknie czasowym są przechwytywane. Informacje te są udostępniane do celów replikacji SQL Server. Śledzenie zmian w SQL odczytuje dzienniki transakcji, aby znaleźć zmiany danych i rejestruje zmiany dla ułatwienia użytkowania. Jest to niezwykle lekki mechanizm rejestrujący przyrostowe zmiany w określonym oknie. Dowiedz się również o SQL Server CDC i Oracle CDC

śledzenie zmian SQL jest integralną częścią replikacji SQL Server

gdy dane muszą być przesyłane lub replikowane do jezior danych lub hurtowni danych z bazy danych SQL Server, funkcja śledzenia zmian SQL jest szczególnie przydatna, ponieważ pomaga w efektywnej replikacji danych przyrostowych, dzięki czemu jezioro/ magazyn danych jest zawsze aktualne i jest scentralizowanym miejscem dostępu do danych z różnych repozytoriów SQL Server.

SQL Server to system zarządzania relacyjnymi bazami danych opracowany przez firmę Microsoft. Jego podstawową funkcją jest wydajne przechowywanie i pobieranie danych i jest zwykle używany przez aplikacje do przechowywania i pobierania danych. Wersje SQL Server od 2008 obsługują funkcję śledzenia zmian.

śledzenie zmian w SQL Server-wskazuje na notatkę:

  • wszystkie wersje SQL Server obsługują tę funkcjonalność
  • musisz włączyć śledzenie zmian na poziomie bazy danych i na poziomie tabeli dla wszystkich tabel, które mają być śledzone
  • tabele muszą mieć klucz podstawowy zdefiniowany w bazie danych

te kroki są szczegółowo wyjaśnione poniżej:

aby włączyć śledzenie zmian

ALTER DATABASE databasename
set change_tracking = on
(change_retion = 7 Days, auto_cleanup = on)

na przykład:

Zmień Database Adventureworks2019
Ustaw CHANGE_TRACKING = ON
(CHANGE_RETION = 7 dni, AUTO_CLEANUP = ON)

na poziomie tabeli:

użyj <nazwa_bazy danych>
idź
Zmień NAZWA_BAZY tabeli
włącz change_tracking
z (TRACK_COLUMNS_UPDATED = on);

na przykład:

użyj ADVENTUREWORKS2019
idź
ALTER TABLE dimcustomer
włącz change_tracking
z (track_columns_updated = on);

sprawdź, czy śledzenie zmian ma zostało włączone na poziomie bazy danych

Wybierz *
z sys.change_tracking_databases
WHERE database_id = DB_ID(’databasename’);

na przykład:

SELECT *
FROM sys.change_tracking_databases
WHERE database_id = DB_ID (’Adventureworks2019′);

wyniki:

sprawdź, czy śledzenie zmian jest włączone na poziomie tabeli

użyj nazwy bazy danych;
wybierz sys.schemas.name jako schema_name, sys.tables.name jako table_name
z sys.change_tracking_tables
JOIN sys.tabele na sys.stoły.object_id = sys.change_tracking_tables.object_id
JOIN sys.Schematy na sys.Schematy.schema_id = sys.stoły.schema_id;

na przykład:

użyj Adventureworks2019;
wybierz sys.schemas.name jako schema_name, sys.tables.name jako table_name
z sys.change_tracking_tables
JOIN sys.tabele na sys.stoły.object_id = sys.change_tracking_tables.object_id
JOIN sys.Schematy na sys.Schematy.schema_id = sys.stoły.schema_id;

wyniki:

śledzenie zmian w SQL Server: plusy i minusy

  • tabela musi mieć zdefiniowany klucz podstawowy. Śledzenie zmian nie może być stosowane dla tabel bez klucza podstawowego.

korzyści

  • niezwykle lekkie rozwiązanie, śledzenie zmian jest bardzo przydatne w większości scenariuszy.
  • jest on obsługiwany przez wszystkie wersje SQL Server, co czyni go bardzo wszechstronnym rozwiązaniem.

ograniczenia lub wyzwania związane ze śledzeniem zmian w SQL Server z kodowaniem niestandardowym

  • chociaż natywna funkcja śledzenia zmian w SQL Server pomaga rejestrować zmiany, należy wykonać znaczne kodowanie, aby przechwycić te zmiany i wykorzystać je do replikacji SQL do hurtowni danych lub jeziora danych.
  • nie tylko niezawodność i solidność muszą być zapewnione, ale ciągła konserwacja, problemy z danymi i obsługa nowych tabel i typów danych staje się stałym problemem dla przedsiębiorstw.
  • rozwiązanie alarmujące i monitorujące musi być również kodowane ręcznie, a gdy spojrzysz na różne komponenty wymagane do tego, aby to działało, ręcznie kodowane rozwiązanie nie oferuje szybkiego czasu na wartości i może być kosztowne w opracowaniu i utrzymaniu.

brak kodu, zautomatyzowany sposób przechwytywania zmian z SQL Server jest za pomocą BryteFlow

  • BryteFlow jest narzędziem opartym na GUI, które pomaga przechwytywać zmiany z SQL Server za pomocą śledzenia zmian i kilku innych mechanizmów. Read more about the solution
  • jest to sposób przesyłania danych bez kodu do różnych hurtowni danych i jezior danych
  • automatycznie tworzy Schematy na celu z optymalnymi typami danych i wdraża najlepsze praktyki dla celu
  • dane replikowane do celu mogą być przechowywane automatycznie z historią SCD typu 2, jeśli są skonfigurowane
  • zautomatyzowane, wyrafinowane uzgadnianie danych-jest to kolejna funkcja klasy korporacyjnej, która zwykle nie jest oferowana na rynku
  • briteflow oferuje replikację SQL Server klasy korporacyjnej i wodoszczelne zabezpieczenia dla instalacje lokalne, w chmurze lub przy użyciu podejścia hybrydowego.

podsumowanie

w przeciwieństwie do podejścia intensywnego kodowania, oferujemy łatwą replikację SQL Server w czasie rzeczywistym ze śledzeniem zmian za pomocą Briteflow. Po prostu wskaż i kliknij, aby skonfigurować. Łatwo Replikuj duże ilości danych dzięki synchronizacji początkowej z gwintem równoległym i partycjonowaniu, a następnie synchronizacji delta. Tabele są tworzone automatycznie z przekazaniem danych lub z historią SCD typu 2. Dostajesz wiele opcji przechwytywania danych zmian odpowiednich dla używanej wersji lub wersji SQL Server (obsługiwane wszystkie wersje/edycje). Przygotuj się do korzystania z danych w miejscu docelowym, czy to S3, Redshift, Snowflake, Azure Synapse lub SQL Server.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.