Middle
Jak fungují transakce v SQL Serveru?
sobes.tech AI
Odpověď od AI
V SQL Server je transakce sekvence operací, které se provádějí jako jedna celek. Transakce zaručuje vlastnosti ACID:
- Atomovost: všechny operace uvnitř transakce jsou buď úplně provedeny, nebo vůbec ne.
- Konzistence: po dokončení transakce zůstává databáze ve správném stavu.
- Izolace: paralelní transakce na sebe navzájem neovlivňují.
- Důvěrnost: po potvrzení zůstávají změny i při selháních.
Transakce začínají příkazem BEGIN TRANSACTION a končí příkazy COMMIT (potvrzení změn) nebo ROLLBACK (vrácení změn). SQL Server používá transakční protokol k zajištění spolehlivosti a obnovení.
Pří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;