ОТ http://msdn.microsoft.com/en-us/library/ ms187373.aspx NOLOCK е еквивалентен на READUNCOMMITTED. За повече информация вижте READUNCOMMITTED по-късно в тази тема.
READUNCOMMITED ще прочете редовете два пъти, ако те са обект на трансакция – тъй като както редовете за превъртане напред, така и за връщане назад съществуват в базата данни, когато транзакцията е В процес.
По подразбиране всички заявки са ангажирани за четене, което изключва неограничени редове
Когато вмъкнете във временна таблица, изборът ще ви даде само ангажирани редове - вярвам, че това покрива всички симптоми, които се опитвате да обясните