NOLOCK: Jest odpowiednikiem READ UNCOMMITTED (źródło:MSDN
)
NOLOCK lub READ UNCOMMITTED Określa, że dozwolone są nieczyste odczyty. Nie są wydawane żadne blokady współdzielone, aby uniemożliwić innym transakcjom modyfikowanie danych odczytanych przez bieżącą transakcję, a blokady na wyłączność ustawione przez inne transakcje nie blokują odczytu zablokowanych danych przez bieżącą transakcję. Zezwolenie na brudne odczyty może spowodować wyższą współbieżność, ale kosztem odczytu modyfikacji danych, które są następnie wycofywane przez inne transakcje
READ UNCOMMITTED i NOLOCK wskazówki dotyczą tylko blokad danych. Wszystkie zapytania, w tym te with READ UNCOMMITTED and NOLOCK podpowiedzi, uzyskaj blokady Sch-S (stabilność schematu) podczas kompilacji i wykonywania. Z tego powodu zapytania są blokowane, gdy współbieżna transakcja blokuje tabelę Sch-M (modyfikacja schematu)