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;