Sobes.tech
Middle

Как работят транзакциите в SQL Server?

sobes.tech AI

Отговор от AI

В SQL Server транзакцията е последователност от операции, които се изпълняват като едно цяло. Транзакцията гарантира свойствата ACID:

  • Атомарност: всички операции в транзакцията или се изпълняват напълно, или изобщо не.
  • Съвместимост: след изпълнение транзакцията базата данни остава в правилно състояние.
  • Изолация: паралелните транзакции не влияят една на друга.
  • Здравина: след потвърждаване, промените остават дори при сривове.

Транзакциите започват с BEGIN TRANSACTION и завършват с COMMIT (записване на промените) или ROLLBACK (отмяна). SQL Server използва журнал на транзакциите за гарантиране на надеждност и възстановяване.

Пример:

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;