Да, это по умолчанию эскалация уровень и абсолютно нормальный.
Возможно, вы смущены тем, что такое эскалация? Это то, что происходит, когда SQL Server удерживает слишком много блокировок на более низком уровне и консолидирует их по производительности и ресурсам.
Вам нужно будет проверить allow_row_locks
и allow_page_locks
в sys.indexes
, чтобы узнать, есть ли у вас проблема с конфигурацией, которая предотвращает эти блокировки нижнего уровня.
w.r.t. уровень эскалации, если вы используете секционированные таблицы, тогда вы могли бы вместо этого рассмотреть AUTO
, чтобы избежать блокировки всего этого. Но причина, по которой это не является дефолтом, заключается в том, что из-за общих нагрузок это оказалось более тупиковым.
Замки никогда не эскалируются из строки в страницу. он всегда идет от строки или страницы до, по крайней мере, всего уровня раздела.
Вы должны выяснить, почему вы видите эскалацию блокировки в первую очередь (если вы действительно находитесь). В режиме чтения с фиксированным уровнем изоляции типичное поведение заключается в том, что выбранные запросы принимают блокировки строк и освобождают их, как только данные считываются.
Вы работаете на излишне ограничительных уровнях изоляции? Эти эскалации происходят с заявлениями о модификации данных, которые можно разбить на более мелкие партии?
это зависит от типа блокировки, кажется, что ваша блокировка только на столе –