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;