NOLOCK Po wybraniu tej opcji SQL Server odczytuje lub modyfikuje dane bez żadnych blokad. W takim przypadku użytkownik może odczytać dane z Transakcji Niezobowiązanej lub Rollback, znanych jako "brudne dane".
HOLDLOCK Gdy ta opcja zostanie wybrana, SQL Server utrzymuje tę wspólną blokadę aż do końca całej transakcji, nie zwalniając jej po drodze.
UPDLOCK Po wybraniu tej opcji SQL Server używa blokady modyfikacji zamiast współdzielonej podczas odczytu danych i utrzymuje tę blokadę do końca całej transakcji lub polecenia. Ta opcja zapewnia, że wiele procesów może jednocześnie odczytywać dane, ale tylko ten proces może je modyfikować.
TABLOCK Gdy ta opcja zostanie wybrana, SQL Server umieszcza wspólną blokadę na całej tabeli aż do zakończenia polecenia. Ta opcja zapewnia, że inne procesy mogą jedynie odczytywać i nie modyfikować danych.
PAGLOCK Ta opcja jest domyślna, a po wybraniu SQL Server korzysta z blokady współdzielonej strony.
TABLOCKX (Ekskluzywny zamek stołowy) Po wybraniu tej opcji SQL Server nałoży blokadę na całą tabelę do czasu zakończenia polecenia lub transakcji. To uniemożliwi innym procesom odczytywanie lub modyfikowanie danych w tabeli.
HOLDLOCK przechowuje współdzieloną blokadę do czasu zakończenia całej transakcji i powinien zostać zwolniony, gdy zablokowany obiekt nie jest potrzebny, równy poziomowi izolacji transakcji SERIALIZABLE
Instrukcja NOLOCK jest wykonywana bez wydawania współdzielonej blokady, co pozwala na brudne odczyty, co odpowiada poziomowi izolacji transakcji READ UNCOMMITTED
PAGLOCK używa wielu zamków stron, gdzie używa się jednej blokady stołowej
READPAST pozwala serwerowi sql pomijać zablokowane linie i wykonywać transakcje, a dla poziomów izolacji transakcji READ Noncommitted pomija tylko blokady RID, a nie blokady stron, stref i tabel
ROWLOCK wymusza stosowanie rowlocków
TABLOCKX wymusza stosowanie wyłącznej blokady na poziomie tabeli, która uniemożliwia innym transakcjom korzystanie z tabeli podczas transakcji
UPLOCK wymusza użycie aktualizacji podczas odczytu tabeli bez wspólnego zamknięcia
Uwaga: Różnica między blokowaniem tabeli w bazie danych SELECT * FROM table WITH (HOLDLOCK) Inne transakcje mogą odczytywać tabelę, ale nie mogą ich aktualizować ani usuwać WYBIERZ * Z TABELI Z (TABLOCKX) Inne transakcje nie mogą odczytywać, aktualizować i usuwać tabel |