Necesito bloqueo a nivel de fila

Esta es una extensión para¿Es posible forzar el bloqueo de nivel de fila en SQL Server?. Aquí está el caso de uso

Tengo una tabla de cuentas con números de cuenta, saldos, etc. Esta tabla está siendo utilizada por muchas aplicaciones. Es muy posible que mientras estoy modificando una cuenta, alguien más esté modificando otra cuenta. Así que el comportamiento esperado es que bloquearía mi cuenta (ROW) y el otro uso bloqueará su (otra ROW).

Pero SQL Server 2008 R2 aumenta este bloqueo a la página / tabla y el segundo usuario obtiene una excepción de tiempo de espera. He intentado todas las soluciones mencionadas en la pregunta de referencia, pero nada funciona.

¿Cómo puedo obligar a SQL Server a bloquear un bloqueo de fila solamente O O cómo puedo modificar este modelo de manera que funcione con el bloqueo de páginas / tablas?

EDITAR La actualización se dirige a un solo registro a través de su PK y se indexa, de modo que solo se está actualizando / bloqueando ONE ROW y el proceso no lleva más de un minuto.

Editar Ahora parece que algo raro está pasando. Estoy utilizando una biblioteca ORM para DAL que abre más de una conexión y he planteado la pregunta a su soporte. Pero, para propósitos de prueba, abrí dos sesiones en la herramienta de consulta e hice lo siguiente

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;

La consulta en la sesión # 2 se agota !!! Consultas por otros valores deCOL_1 están trabajando bien Ahora parece que SELECT está bloqueado para una sesión si el mismo registro está en modo de edición en otra sesión.

Aunque Oracle admite la selección de una fila (con parámetros predeterminados / sin palabras clave) mientras está siendo modificada por otra sesión, SQL Server no (con parámetros predeterminados / sin palabras clave), por lo que parece que el problema está en la biblioteca.

Respuestas a la pregunta(2)

Su respuesta a la pregunta