Я разместил несколько ссылок на статьи в комментариях выше, чтобы подчеркнуть, что использование NOLOCK
должно быть осторожным. Но с учетом вышесказанного, если вы провели свое исследование и поняли, во что вы ввязываетесь, есть гораздо более простой способ достичь этого.
Особенно при использовании запроса, который имеет много ссылок на таблицы, вместо WITH(NOLOCK)
намекает на все из них, просто установите уровень изоляции транзакции вашей сессии . Добавьте строку над запросом:
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
Функционально это то же самое, что добавить подсказку к каждой таблице в запросе, и вы можете быть уверены, что не пропустили ни одной.
Вкл. с другой стороны, вы и ваши конечные пользователи могли бы быть счастливее, если вы
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;
В вашем независимом исследовании вы узнаете, почему это так.