Więc mam oświadczenie SQL, które pominięto w wygląda mniej więcej tak:Order (NOLOCK) i aliasy tabeli na SQL Server
SELECT column
FROM table t (nolock)
LEFT OUTER JOIN table2 (nolock) t2 on t.id = t2.id
Stwierdzenie to działa na moim środowisku SQL 2005 i SQL 2008. Nie działa na zdalnym środowisku SQL 2005. Ostatnia linia została zmieniona na:
LEFT OUTER JOIN table2 t2 (nolock) on t.id = t2.id
Działa w odległym środowisku.
Pomijając kwestie dotyczące tego, czy (nolock) jest właściwe i czy składnia powinna pozostać spójna wewnętrznie, czy istnieją jakieś pomysły, dlaczego tak się dzieje? Próbowałem szukać poprawek/KB, które sobie z tym poradziły i nie znalazłem nic. Czy istnieje ustawienie serwera SQL, które może spowodować to zachowanie?
Jaki poziom zgodności bazy danych jest ustawiony? –
co oznacza "działa" i "nie działa w dniu" oznacza, że pojawia się komunikat o błędzie i/lub blokowanie? –