В моем приложении несколько пользователей имеют возможность читать или изменять одни и те же таблицы. Однако, когда одна строка изменяется пользователем, другие не должны ее использовать больше.SQL Server 2008 - как повысить ошибку при попытке обновить заблокированную строку?
Использование с ISOLATION LEVEL READ UNCOMMITED. Проблема заключается в том, что когда пользователь обновляет строку в таблице, а другой пользователь пытается обновить ту же строку - вторая транзакция будет ждать первой транзакции до ROLLBACK/COMMIT, прежде чем она сможет обновить строку.
Что я хочу сделать, так это поднять ошибку в этой ситуации, для второго пользователя - , поэтому ему не нужно так долго ждать.
Как это сделать?
Проблема заключается в том, что транзакции достаточно велики (несколько процедур включены), поэтому существует возможность блокировать некоторых пользователей в течение некоторого времени из-за блокировки.
Спасибо
'READPAST',' sp_getapplock' или ручные логические блокировки. –
спасибо @Ivan за редактирование и комментарий :) – VictorT