Хороший вопрос, чтобы поговорить о транзакциях.
Ваш основной метод - сохранение транзакций для фиксации. Даже если вы делаете коммит в других методах, у вас все равно будут блокировки в этом ряду. Вы не сможете прочитать эту таблицу с READ COMMITTED, что ожидается, пока вы не совершите транзакцию блокировки.
Вот после первого возврата метода:
После возврата второго метода вы добавите еще одну блокировку к таблице.
Если мы выполним оператор select из окна запроса с SPID (55), вы увидите состояние ожидания.
После того, как вы передадите основной метод trans commit, вы получите результат оператора select, и он покажет только shared lock со страницы запроса оператора select.
X означает эксклюзивную блокировку, IX намеренную блокировку. Вы можете узнать больше из моего блога о транзакциях .
Если вы хотите читать без ожидания, вы можете использовать подсказку nolock. Если вы хотите читать после первой фиксации метода, вы можете удалить эту внешнюю область.