Sobes.tech
Middle

Ako fungujú transakcie v SQL Serveri?

sobes.tech AI

Odpoveď od AI

V SQL Serveri je transakcia sled operácií, ktoré sa vykonávajú ako celok. Transakcia garantuje vlastnosti ACID:

  • Atomickosť: všetky operácie v rámci transakcie buď prebehnú úplne, alebo vôbec.
  • Konzistencia: po dokončení transakcie zostáva databáza v správnom stave.
  • Izolácia: paralelné transakcie na seba neovplyvňujú.
  • Dôveryhodnosť: po potvrdení zostávajú zmeny aj pri zlyhaniach.

Transakcie začínajú príkazom BEGIN TRANSACTION a končia príkazmi COMMIT (potvrdenie zmien) alebo ROLLBACK (vrátenie zmien). SQL Server používa transakčný denník na zabezpečenie spoľahlivosti a obnovy.

Príklad:

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;