co się stanie, jeśli klucz podstawowy zostanie zmieniony lub uprawnienia do procedury składowanej zostaną zaktualizowane bez Twojej wiedzy o tym? Śledzenie SQL Server tylko za pomocą change data capture (CDC) nie wystarczy, aby być na bieżąco ze zmianami w krytycznych bazach danych. Rzeczywiście, bez niezawodnego, wydajnego śledzenia zmian w SQL Server po prostu nie możesz kontrolować tego, co dzieje się na Twoich serwerach SQL.
natywne śledzenie zmian w SQL Server
SQL Server wykorzystuje mechanizm synchronicznego śledzenia, co oznacza, że zmiany są rejestrowane po wprowadzeniu zmian w języku manipulacji danymi (DML). Funkcje śledzenia zmian SQL Server oferowane przez narzędzia natywne zapewniają pewne funkcje śledzenia zmian; na przykład możesz użyć śledzenia zmian, aby sprawdzić, kto usunął tabele lub które wiersze zostały zmienione. Ale musisz napisać zestaw zapytań w Transact-SQL, aby uzyskać bardziej szczegółowe informacje o śledzeniu zmian, takie jak szczegóły dotyczące zmienionych danych, zmodyfikowanych kolumn lub tabel utworzonych przez użytkownika-a to zadanie może łatwo pochłonąć twój cenny czas. Ponadto włączenie śledzenia zmian może szybko zapełnić serwer, więc musisz stale uruchamiać czyszczenie, aby uniknąć wyczerpania miejsca na dysku, co spowodowałoby spadek wydajności i dostępności.
aby korzystać ze śledzenia zmian w SQL Server, musisz włączyć śledzenie zmian na dwóch zagnieżdżonych poziomach: śledzenie zmian w bazie danych i śledzenie zmian w tabeli.
Włączanie śledzenia zmian dla bazy danych
aby śledzenie zmian działało, twoja baza danych musi mieć co najmniej poziom zgodności z SQL Server 2005. Możesz określić numer wersji bazy danych serwera, uruchamiając zapytanie „wybierz @@Wersja”. Musisz włączyć śledzenie zmian dla każdej bazy danych indywidualnie.
aby włączyć śledzenie zmian na poziomie bazy danych, możesz użyć SQL Server Management Studio lub uruchomić następujące zapytanie T-SQL:
ALTER DATABASE Accounting2020
SET CHANGE_TRACKING = ON
(CHANGE_RETION = 3 DAYS, AUTO_CLEANUP = ON)
po włączeniu śledzenia zmian można ustawić inny okres przechowywania, modyfikując parametry CHANGE_RETENTION i AUTO_CLEANUP.
Włączanie śledzenia zmian dla tabeli
podobnie jak w przypadku baz danych, śledzenie zmian w tabeli wymaga włączenia śledzenia dla każdej tabeli osobno. Ponownie możesz to zrobić w SQL Server Management Studio lub za pomocą zapytania takiego jak ten przykład:
ALTER TABLE Contracts
ENABLE CHANGE_TRACKING
WITH (TRACK_COLUMNS_UPDATED = ON)
po włączeniu śledzenia zmian w tabeli informacje o wszystkich wierszach zmienianych przez wspólne polecenia SQL (SELECT, INSERT, UPDATE, DELETE, itp.) jest przechowywany wewnętrznie.
parametr TRACK_COLUMNS_UPDATED służy do ustawiania śledzenia zmian dla kolumn. Jeśli jest włączone, SQL Server będzie przechowywał dodatkowe informacje o tym, które kolumny zostały zaktualizowane. Ponieważ jednak śledzenie informacji o kolumnach zwiększa koszty przechowywania, opcja ta jest domyślnie wyłączona, a jej wyłączenie jest zalecane dla wszystkich aplikacji, które nie wymagają danych historycznych.
łatwe i wydajne śledzenie zmian za pomocą Netwrix Auditor
w przeciwieństwie do natywnych narzędzi do śledzenia zmian, które wymagają pisania zapytań i ręcznego przeszukiwania danych, Netwrix Auditor for SQL Server zapewnia wbudowane pulpity nawigacyjne i raporty, które umożliwiają łatwe wykrywanie zmian i wyświetlanie wszystkich krytycznych szczegółów. Na przykład można zobaczyć, że kolumna, która została usunięta lub rola użytkownika została zmodyfikowana, wraz z wartościami przed i po każdej zmianie. Interaktywne wyszukiwanie Pomaga szybko badać podejrzane zmiany, dzięki czemu można zapobiec niedostępności bazy danych i innym zakłóceniom.
Netwrix Auditor ułatwia również śledzenie kluczowych zasobów, takich jak serwery z największą liczbą zmian i użytkownicy dokonujący największej liczby modyfikacji. Subskrypcje raportów są automatycznie aktualizowane zgodnie z wybranym harmonogramem. Nie musisz się już martwić o czyszczenie, ponieważ dwupoziomowa pamięć masowa Netwrix utrzymuje skonsolidowane dane zmian serwera SQL w opłacalny sposób przez ponad 10 lat, zapewniając jednocześnie szybki i bezpieczny dostęp do nich w dowolnym momencie. Co więcej, Netwrix Auditor wykorzystuje nieinwazyjny mechanizm audytu, więc nigdy nie pogorszy wydajności bazy danych.