Так что у меня есть SQL заявление, что урезано выглядит примерно так:Орден (NOLOCK) и таблицы псевдонимов на SQL Server
SELECT column
FROM table t (nolock)
LEFT OUTER JOIN table2 (nolock) t2 on t.id = t2.id
Это утверждение работает на моей среде SQL 2005 и SQL 2008. Это не относится к удаленной среде SQL 2005. Я переключил последнюю строку на:
LEFT OUTER JOIN table2 t2 (nolock) on t.id = t2.id
Это работает в удаленной среде.
Включение вопросов о том, является ли (nolock) подходящим и что синтаксис должен оставаться внутренне согласованным, любые идеи, почему это происходит? Я попытался найти исправления/KBs, которые касались этого, и ничего не придумал. Есть ли настройка на SQL-сервере, которая может вызвать такое поведение?
Какой уровень совместимости устанавливается база данных для? –
Что означает «работает» и «Оно не на ..» означает, что вы получаете сообщение об ошибке и/или блокировку? –