По умолчанию используется блокировка строк, а не блокировка страниц, хотя то, как работает механизм блокировки, означает, что вы будете устанавливать блокировки на все объекты в иерархии, например, при чтении одной строки будет установлена общая блокировка на таблице, общая блокировка на странице, а затем общая блокировка на строку.
Это позволяет действию, запрашивающему монопольную блокировку таблицы, знать, что оно еще не может выполнить его, поскольку присутствует общая блокировка (в противном случае придется проверять каждую страницу / строку на наличие блокировок).
Однако, если вы выполняете слишком много блокировок для отдельного запроса, он выполняет эскалацию блокировок, которая уменьшает степень детализации блокировки, то есть она управляет меньшим количеством блокировок.
Это можно отключить с помощью флага трассировки, но я бы не стал его рассматривать.
Пока вы не узнаете, что у вас действительно есть проблема с блокировкой / расширением блокировки, вы рискуете преждевременно оптимизировать несуществующую проблему.