Вы можете использовать подсказку ROWLOCK, но AFAIK SQL может принять решение об ее повышении, если у него мало ресурсов
Из документа :
ROWLOCKУказывает, что блокировки строк выполняются, когда обычно используются блокировки страниц или таблиц.При указании в транзакциях, работающих на уровне изоляции SNAPSHOT, блокировки строк не выполняются, если ROWLOCK не объединен с другими табличными подсказками, требующими блокировок, такими как UPDLOCK и HOLDLOCK.
и
Подсказки по блокировке ROWLOCK, UPDLOCK и XLOCK, которые получают блокировки на уровне строк, могут устанавливать блокировки на индексные ключи, а не на реальные строки данных.Например, если таблица имеет некластеризованный индекс, а оператор SELECT, использующий подсказку о блокировке, обрабатывается индексом покрытия, блокировка получается для ключа индекса в индексе покрытия, а не для строки данных в базовой таблице.
И, наконец, это дает довольно подробное объяснение об эскалации блокировки в SQL Server 2005, которая была изменена в SQL Server 2008.
Существует также,очень подробно: Блокировка в СУБД (в книгах онлайн)
Итак, в общем
UPDATE
Employees WITH (ROWLOCK)
SET Name='Mr Bean'
WHERE Age>93
Должно быть в порядке, но в зависимости от индексов и нагрузкина сервере это может в конечном итоге перерасти в блокировку страницы.