Sobes.tech
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;