| Termin | Definicja |
|---|---|
| SysStartTime | SysStartTime to kolumna tabeli temporalnej wskazująca moment rozpoczęcia ważności danej wersji wiersza. SysStartTime jako początek okresu obowiązywania wierszaSysStartTime to nazwa kolumny używanej w tabeli temporalnej programu Microsoft SQL Server do oznaczenia początku okresu, w którym określona wersja wiersza jest uznawana za aktualną z punktu widzenia historii systemowej. Sama nazwa nie jest słowem kluczowym wymaganym przez SQL Server. Administrator może nazwać kolumnę inaczej, jednak w tym przypadku SysStartTime pełni rolę kolumny okresu oznaczonej jako Kolumna SysStartTime należy do pary kolumn definiujących przedział czasu dla wiersza. W typowej tabeli systemowo wersjonowanej obie kolumny mają typ Jak SQL Server wyznacza wartość SysStartTimeW tabeli systemowo wersjonowanej SQL Server uzupełnia wartości kolumn okresu podczas operacji modyfikujących dane. Przy wstawianiu nowego wiersza SysStartTime otrzymuje czas rozpoczęcia transakcji, a SysEndTime jest ustawiany na wartość oznaczającą, że wiersz pozostaje aktualny. Przy aktualizacji dotychczasowa wersja jest przenoszona do tabeli historii, gdzie jej SysEndTime wskazuje zakończenie ważności, natomiast nowa wersja otrzymuje własny SysStartTime. Przy usunięciu rekord również może trafić do tabeli historii jako ostatnia znana wersja. Dla systemowego wersjonowania SQL Server wykorzystuje czas UTC, a nie lokalną strefę czasową komputera użytkownika. Ma to znaczenie przy porównywaniu zapisów pochodzących z różnych serwerów, przy zmianach czasu letniego oraz podczas analizy kopii baz danych. Wartość odpowiada rozpoczęciu transakcji, dlatego kilka zmian wykonanych w ramach jednej transakcji może mieć ten sam czas początku. Nie jest to więc precyzyjny dziennik kolejności wszystkich instrukcji ani zamiennik kolumny zapisującej identyfikator operacji. Odczyt historii na podstawie przedziału czasuSysStartTime jest wykorzystywany przede wszystkim podczas zapytań temporalnych. SQL Server udostępnia klauzulę W praktyce SysStartTime pozwala ustalić, od kiedy dana wartość była aktywna. Można go również używać w zwykłych filtrach, na przykład do wyszukania wersji rozpoczynających obowiązywanie po określonym czasie, ale do pełnej analizy historii bezpieczniej stosować predykaty temporalne SQL Server. Trzeba pamiętać, że przedziały czasu są interpretowane zgodnie z regułami konkretnej klauzuli Weryfikacja kolumny SysStartTime podczas naprawy komputeraSysStartTime występuje w kontekście konfiguracji tabel temporalnych Microsoft SQL Server, dlatego diagnostyka problemu wymaga sprawdzenia definicji tabeli, typu kolumny, właściwości okresu oraz powiązania z tabelą historii. Warto zweryfikować, czy kolumna jest oznaczona jako kolumna początku okresu, czy odpowiada jej kolumna końca okresu oraz czy mechanizm wersjonowania jest włączony. Pomocne jest sprawdzenie metadanych systemowych SQL Server, ponieważ sama obecność kolumny o nazwie SysStartTime nie dowodzi jeszcze, że działa ona jako element okresu temporalnego. W przypadku laptopa lub komputera PC awaria dysku, uszkodzenie systemu plików albo nieprawidłowa konfiguracja środowiska SQL Server może utrudnić dostęp do historii, lecz nie zmienia znaczenia samej kolumny. Przy pracy serwisowej należy najpierw zabezpieczyć kopię bazy i ustalić, czy problem dotyczy danych, uprawnień, połączenia z instancją, czy konfiguracji tabeli. Ze względu na serwerowy charakter SQL Server czynności związane z SysStartTime powinny być wykonywane przez osobę znającą strukturę konkretnej bazy oraz konsekwencje zmian w tabeli bieżącej i tabeli historii. |