Sobes.tech
Middle

Jak działają transakcje w SQL Server?

sobes.tech AI

Odpowiedź od AI

W SQL Server transakcja to sekwencja operacji wykonywanych jako jedna całość. Transakcja gwarantuje właściwości ACID:

  • Atomowość: wszystkie operacje w transakcji są albo w pełni wykonywane, albo wcale.
  • Spójność: po wykonaniu transakcji baza danych pozostaje w poprawnym stanie.
  • Izolacja: równoległe transakcje nie wpływają na siebie nawzajem.
  • Trwałość: po zatwierdzeniu transakcji zmiany są zachowywane nawet w przypadku awarii.

Transakcje rozpoczynają się od BEGIN TRANSACTION i kończą COMMIT (zatwierdzeniem zmian) lub ROLLBACK (cofa zmiany). SQL Server używa dziennika transakcji do zapewnienia niezawodności i odzyskiwania.

Przykład:

BEGIN TRANSACTION;
UPDATE Accounts SET Balance = Balance - 100 WHERE AccountID = 1;
UPDATE Accounts SET Balance = Balance + 100 WHERE AccountID = 2;
IF @@ERROR <> 0
    ROLLBACK TRANSACTION;
ELSE
    COMMIT TRANSACTION;