Мне нужна блокировка на уровне строк

Это расширениеВозможно ли принудительное блокирование на уровне строк в SQL Server?, Вот пример использования

У меня есть таблица счетов с номерами счетов, балансами и т. Д. Эта таблица используется многими приложениями. Вполне возможно, что когда я изменяю учетную запись, кто-то другой изменяет другую учетную запись. Таким образом, ожидаемое поведение заключается в том, что я заблокирую свой аккаунт (ROW), а другое использование заблокирует его (еще один ROW).

Но SQL Server 2008 R2 увеличивает эту блокировку до страницы / таблицы, и второй пользователь получает исключение тайм-аута. Я перепробовал все решения, упомянутые в указанном вопросе, но ничего не работает.

Как заставить SQL Server блокировать только блокировку на уровне строк ИЛИ как я могу изменить эту модель таким образом, чтобы она работала с блокировкой страниц / таблиц?

EDIT Обновление предназначено для отдельной записи через его PK, и оно индексируется, поэтому обновляется / блокируется только ОДНА СТРОКА, и процесс занимает не более минуты

Edit Now it looks something weird is happening. I am using an ORM library for DAL which is opening more than one connections and i have raised the question to their support. But, for testing purpose, i opened two sessions on query tool and did following

Session # 1
begin tran
UPDATE myTable SET COL_1 = COL_1 WHERE COL_1 = 101;

Session # 2
SELECT COL_1 FROM myTable WHERE COL_1 = 101;

Запрос в сеансе # 2 раза !!! Запросы для других значенийCOL_1 работают нормально. Теперь выглядит, что SELECT заблокирован для сеанса, если та же запись находится в режиме редактирования в другом сеансе.

Хотя Oracle поддерживает выбор строки (с параметрами по умолчанию / без ключевых слов) во время ее изменения другим сеансом, SQL Server не поддерживает (с параметрами по умолчанию / без ключевых слов), поэтому, похоже, проблема в библиотеке.

Ответы на вопрос(2)

Ваш ответ на вопрос