Transakcje w języku T-SQL w Microsoft SQL Server są fundamentalnym elementem zarządzania bazami danych i pozwalają na kontrolowanie spójności i integralności danych w bazie. Transakcje są używane do grupowania jednego lub więcej poleceń SQL w logiczną jednostkę pracy, którą można traktować jako jedną, niepodzielną operację. Oto kilka kluczowych pojęć dotyczących transakcji:

ACID

Transakcje w SQL Server muszą spełniać kryteria ACID, co oznacza:

Polecenia transakcyjne

Aby rozpocząć transakcję, używamy polecenia BEGIN TRANSACTION. Następnie wydajemy polecenia SQL, które chcemy uwzględnić w transakcji. Po wykonaniu operacji, używamy COMMIT do zatwierdzenia transakcji lub ROLLBACK, aby ją wycofać.

BEGIN TRANSACTION;

-- Twoje polecenia SQL

COMMIT; -- lub ROLLBACK;

Savepoints

Możemy również używać savepoints, które pozwalają na podział transakcji na mniejsze części. W przypadku problemu możemy wycofać transakcję do określonego savepointu zamiast całkowicie anulować całą transakcję.

Poziomy izolacji transakcji

W Microsoft SQL Server, poziomy izolacji transakcji definiują, jakie zmiany dokonane przez jedną transakcję są widoczne dla innych transakcji w systemie. SQL Server obsługuje różne poziomy izolacji, aby zapewnić odpowiedni balans między spójnością danych a wydajnością.

  1. READ UNCOMMITTED
  2. READ COMMITTED
  3. REPEATABLE READ
  4. SERIALIZABLE

Możesz określić poziom izolacji transakcji w SQL Server przy użyciu polecenia SET TRANSACTION ISOLATION LEVEL. Na przykład:

SET TRANSACTION ISOLATION LEVEL READ COMMITTED;