Цитата:
И в единственном select все таблицы с хинтами (nolock)
Значит, кроме select у Вас есть еще и модификация данных в Вашей процедуре (update/insert/delete). Или при работе Вашей процедуры Вы используете вызов других процедур, которые уже внутри себя что-то там изменяют.
Я ни разу не сталкивался с подобной ошибкой при использовании только Select с nolock. Посмотрите внимательнее, что еще Вы вызываете из своей ХП
Кстати, а Вы используете полный синтаксис с ключевым словом with?
X++:
select ... from MyTab with (nolock)
Сокращенный синтаксис без ключевого слова with может приводить к разным глюкам. Хотя обычно просто отказывается работать
PS: Для MS SQL есть свой аналог try.catch (кажется, введен с SQL 2005)
https://msdn.microsoft.com/ru-ru/library/ms175976.aspx
Но не уверен, что он отловит DeadLock