Udostępnij za pośrednictwem


Dziennik transakcji architektury logicznej

The SQL Server dziennik transakcji operates logically as if the dziennik transakcji is a ciąg of log records. Każdy rekord dziennika jest identyfikowany przez numer sekwencyjny dziennika (LSN).Każdego nowego rekordu dziennika jest zapisywany logiczne koniec dziennika z LSN wyższą niż LSN rekordu przed nim.

Rekordy dziennika są przechowywane w sekwencji szeregowego postaci, w jakiej je utworzono.Każdy rekord zawiera identyfikator transakcji, do której należy.Dla każdej transakcji wszystkie rekordy dziennika skojarzonych z transakcją indywidualnie są połączone w łańcuchu, za pomocą wskaźników ze starszymi wersjami, które szybkość wycofywania transakcji.

Rekordy dziennika do modyfikacji danych rejestrowania albo logicznej operacji wykonywanych lub one przed i po obrazy zmodyfikowane dane.Przed obrazu jest kopią danych przed operacja jest wykonywana; po obrazu jest kopią danych po wykonaniu tej operacji.

Kroki, aby odzyskać operacji, zależą od typu rekordu dziennika:

  • Operacja logiczna rejestrowane

    • Do operacji logicznych do przodu, operacja jest wykonywana ponownie.

    • Do tyłu operacja logiczna, odwrotna operacja logiczna jest wykonywane.

  • Przed i po zalogowaniu obrazu

    • Do operacji do przodu, po obrazu jest stosowana.

    • Do tej operacji, przed zastosowaniem obrazu.

Wiele rodzajów operacji są rejestrowane dziennik transakcji.Operacje te obejmują:

  • Początek i koniec każdej transakcji.

  • Każda zmiana danych (wstawienie, aktualizacja lub usunięcie).Obejmuje to zmiany wprowadzane przez system przechowywane procedury lub instrukcje języka (DDL) definicja danych do tabela, w tym tabele systemowe.

  • Każdy fragment i strona alokacji lub dezalokacji.

  • Utworzenie lub usunięcie z tabela lub indeksu.

Wycofywanie operacji są również rejestrowane.Każda transakcja rezerwuje miejsce, dziennik transakcji, aby upewnić się, czy wystarczająca ilość miejsca w dzienniku istnieje do obsługi wycofywania, który jest spowodowany przez jedną instrukcję wycofywania jawne lub jeśli wystąpi błąd.Ilość miejsca na zastrzeżonych zależy od operacji wykonywanych w transakcji, ale zazwyczaj jest równa ilości miejsca, używane do logowania podczas każdej operacji.To miejsce zarezerwowane jest zwalniane po zakończeniu transakcji.

W sekcji pliku dziennika z pierwszego rekordu dziennika, który musi być obecny dla pomyślnego przywrócenia całej bazy danych do rekordu dziennika zapisane w ostatniej nazywa się aktywna część dziennika, lub aktywnego dziennika.Jest to część dziennika, wymagana do wykonania pełnego odzyskiwanie bazy danych.Kiedykolwiek mogą być obcinane, żadna część aktywnego dziennika.