- HOLDLOCK
- Použité zámky jsou drženy až do konce transakce. Obdobné jako SET TRANSACTION ISOLATION LEVEL SERIALIZABLE, akorát jen pro jednu tabulku.
- UPDLOCK
- Nutí server použít při čtení update lock namísto share lock. Můžeme použít pro eliminaci konverzních deadlocků.
- TABLOCK
- Nutí server použít share lock na celou tabulku i přesto, že by se jinak zamykala pouze stránka. To je užitečné, pokud víme, že by se zámky nakonec eskalovaly na celou tabulku. Pokud použijeme TABLOCK při mazání z haldy, umožníme SQL serveru uvolnit stránky hned, jakmile jsou smazány.
- PAGLOCK
- Nutí server použít sdílený zámek na stránku, tam kde by jinak použil sdílený zámek celé tabulky.
- TABLOCKX
- Exkluzivní zámek tabulky držený do konce transakce. (TABLOCK a XLOCK)
- ROWLOCK
- Použije se sdílený zámek řádků tam, kde by se jinak použil zámek stránky nebo tabulky.
- READUNCOMMITTED, REPEATABLEREAD, SERIALIZABLE
- Na tabulku se použije stejný mechanizmus zamykání, jako by byl zapnutý ISOLATION LEVEL se stejným názvem.
- READCOMMITTED
- Pokud je READ_COMMITTED_SNAPSHOT OFF, pak server používá sdílené zámky a uvolňuje je hned jak je to možné.
Pokud je READ_COMMITTED_SNAPSHOT ON, pak server nepoužívá zámky, ale verzování řádků.
- READCOMMITTEDLOCK
- Server používá sdílené zámky i pokud je READ_COMMITTED_SNAPSHOT ON.
- NOLOCK
- Umožnuje nepotvrzené, špinavé čtení. Zámky se nehlídají, je možné přečíst data, která jsou exkluzivně zamčená. Odpovídá READUNCOMMITED.
- READPAST
- Přeskakuje zamčené řádky. Aplikuje se pouze při READ COMMITTED isolation level a přeskakuje pouze zámky na úrovni řádků.
- XLOCK
- Použije exkluzivní zámky. Je možné kombinovat s PAGLOCK nebo TABLOCK.
