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;