Sobes.tech
Middle

Kako funkcionišu transakcije u SQL Serveru?

sobes.tech АИ

Одговор од АИ

U SQL Server-u, transakcija je niz operacija koje se izvršavaju kao celina. Transakcija garantuje svojstva ACID:

  • Atomost: sve operacije unutar transakcije ili se u potpunosti izvrše ili se uopšte ne izvrše.
  • Doslednost: nakon izvršenja transakcije, baza ostaje u ispravnom stanju.
  • Izolacija: paralelne transakcije ne utiču jedna na drugu.
  • Trajnost: nakon potvrde, promene ostaju čak i u slučaju padova.

Transakcije počinju sa BEGIN TRANSACTION i završavaju sa COMMIT (potvrđivanjem promena) ili ROLLBACK (povlačenjem promena). SQL Server koristi dnevnik transakcija za obezbeđivanje pouzdanosti i oporavka.

Primer:

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;