| Termin | Definicja |
|---|---|
| System-Versioned Temporal Tables | Tabele temporalne z wersjonowaniem systemowym automatycznie zachowują historię zmian każdego wiersza. Na czym polega wersjonowanie systemoweSystem-Versioned Temporal Tables to mechanizm dostępny w Microsoft SQL Server od wersji SQL Server 2016, który automatycznie przechowuje kolejne wersje rekordów zmienianych w tabeli. Rozwiązanie składa się z tabeli bieżącej oraz powiązanej z nią tabeli historii. Tabela bieżąca zawiera aktualny stan danych, natomiast tabela historii przechowuje wcześniejsze wersje wierszy wraz z przedziałami czasu, w których te wersje obowiązywały. Okres obowiązywania jest reprezentowany przez dwie kolumny typu Kolumny okresu definiuje się w SQL Server przy użyciu składni Co dzieje się podczas zmian danychPrzy aktualizacji wiersza SQL Server zapisuje jego poprzednią wersję w tabeli historii, a w tabeli bieżącej pozostawia wersję zaktualizowaną. Poprzedni wiersz otrzymuje czas zakończenia obowiązywania, natomiast nowy stan otrzymuje nowy czas rozpoczęcia. Przy usunięciu rekordu jego ostatnia wersja również trafia do tabeli historii. Zwykłe zapytanie kierowane do tabeli temporalnej zwraca aktualny stan, dlatego odczyt historii wymaga użycia specjalnej klauzuli SQL Server obsługuje kilka sposobów wyboru danych historycznych. Konfiguracja tabeli i ograniczenia praktyczneWersjonowanie włącza się podczas tworzenia tabeli albo później poleceniem Temporalne wersjonowanie nie zastępuje kopii zapasowych, replikacji ani dziennika transakcji. Historia może szybko zwiększać rozmiar bazy, szczególnie gdy aplikacja często aktualizuje duże wiersze. Trzeba więc zaplanować indeksy, sposób partycjonowania oraz monitorowanie miejsca na dysku. SQL Server pozwala również wyłączyć automatyczne wersjonowanie przed zmianą struktury tabeli, na przykład przy dodawaniu lub modyfikowaniu kolumn. Operacje administracyjne tego typu wymagają ostrożności, ponieważ nieprawidłowa modyfikacja tabeli historii może utrudnić późniejszą analizę zmian. Diagnostyka i zastosowanie w serwisie komputerowymSystem-Versioned Temporal Tables są użyteczne tam, gdzie trzeba ustalić, jaki stan danych obowiązywał w konkretnym momencie. Można dzięki nim analizować zmiany konfiguracji, rejestrować modyfikacje zleceń, odtwarzać wcześniejsze wartości cenników albo sprawdzać, kiedy zmieniły się parametry urządzenia zapisane w bazie. Mechanizm działa na poziomie SQL Server, więc rejestruje zmiany wykonywane przez polecenia Podczas diagnostyki problemu należy sprawdzić, czy tabela ma włączone |