Transactions (Database Engine)

Sekwencja operacji wykonywanych jako pojedyncza jednostka logiczna pracy jest transakcja.Logiczna jednostka pracy musi może zawierać do czterech właściwości o nazwie niepodzielność, spójność, izolacja i trwałości właściwości (ACID), aby móc skorzystać z jako transakcja.

  • Niepodzielność
    Transakcja musi być niepodzielny jednostki pracy, wykonywane są wszystkie jego modyfikacji danych albo żaden z nich jest wykonywane.

  • Spójność
    Po zakończeniu, transakcja musi pozostać wszystkie dane w stanie spójnym.W relacyjnej bazie danych wszystkie reguły muszą być stosowane do modyfikacji transakcji do zachowania spójności wszystkich danych.Wszystkie wewnętrznych struktur danych, takich jak B-drzewo indeksy lub podwójnie połączonej listy, muszą być prawidłowe po zakończeniu transakcji.

  • Izolacji
    Zmiany wprowadzone przez jednoczesne transakcje muszą być izolowane od zmian wprowadzonych przez jednoczesne transakcje.Transakcja albo rozpoznaje danych w stanie sprzed innej jednoczesnych transakcji modyfikować jego lub jej rozpoznaje danych po drugim transakcja została ukończona, ale nie rozpoznaje Stan pośredni.To jest zwany uszeregowieniem, ponieważ powoduje on możliwość ponownego ładowania początkowego danych i Odtwórz serię transakcji, które mają kończyć danych w tym samym stanie był po przeprowadzono oryginalnej transakcji.

  • Trwałość
    Po zakończeniu transakcji jej skutki obowiązują stałe w systemie.Modyfikacje są zachowywane nawet w przypadku wystąpienia awarii systemu.

Określanie i wymuszanie transakcji

Programiści SQL są odpowiedzialne za rozpoczęcia i zakończenia transakcji w punktach wymuszające logiczne spójności danych.Programistę, musisz zdefiniować kolejność modyfikacji danych, które zostawiają dane w stanie spójnym względem reguły biznesowe w organizacji.Programistę obejmuje instrukcje te zmiany w pojedynczą transakcję, aby SQL Server Database Engine można wymusić integralność transakcji.

Odpowiada system bazy danych organizacji, takie jak wystąpienie Database Engine, aby zawierają mechanizmy zapewniające integralność każdej transakcji. The Database Engine provides:

  • Blokowanie urządzenia zachowania izolacji transakcji.

  • Rejestrowanie urządzenia, które zapewniają trwałość transakcji.Nawet jeśli sprzęt serwera, system operacyjny lub wystąpienie Database Engine sam kończy się niepowodzeniem, wystąpienie automatycznie przywrócić wszystkie nieukończone transakcje, punktem awarii systemu za pomocą dzienników transakcji podczas ponownego uruchamiania.

  • Funkcje zarządzania transakcji wymusić niepodzielność transakcji i są spójne.Po rozpoczęciu transakcji, to musi zostać pomyślnie zakończona, lub wystąpienie programu Database Engine cofa wszystkie zmiany danych dokonane od momentu rozpoczęcia transakcji.