NOLOCK Ha ezt az opciót választják, az SQL Server zárolás nélkül olvas vagy módosítja az adatokat. Ebben az esetben a felhasználó olvashat adatokat egy elkötelezett tranzakcióból vagy visszafordításból, amit "piszkos adatoknak" neveznek.
FOGALOM Ha ezt az opciót választják, az SQL Server fenntartja ezt a közös zárolást a teljes tranzakció végéig anélkül, hogy útközben feloldaná.
UPDLOCK Ha ezt az opciót kiválasztották, az SQL Server módosító zárat használ az adatok olvasása során a megosztott zár helyett, és ezt a zárolást az egész tranzakció vagy parancs végéig fenntartja. Ez az opció biztosítja, hogy több folyamat egyszerre olvasson adatokat, de csak ez a folyamat módosíthatja az adatokat.
TABLOCK Ha ezt az opciót kiválasztják, az SQL Server megosztott zárolást tesz az egész táblára, amíg a parancs véget nem ér. Ez az opció biztosítja, hogy más folyamatok csak olvashassák az adatokat, és nem tudják módosítani az adatokat.
PAGLOCK Ez az alapértelmezett opció, és ha kiválasztják, az SQL Server megosztott oldalzárolást használ.
TABLOCKX (Exclusive Table Lock) Ha ezt az opciót választják, az SQL Server zárolja az egész táblát, amíg a parancs vagy tranzakció véget nem ér. Ez megakadályozza, hogy más folyamatok felolvassák vagy módosítsák a táblázatban lévő adatokat.
A HOLDLOCK a megosztott zárolást tartja a teljes tranzakció befejezéséig, és akkor szabadon kell engedni, amint a zárolt objektumra nincs szükség, ami megegyezik a SERIALIZÁLHATÓ tranzakciós izolációs szinttel
A NOLOCK utasítást megosztott zár nélkül hajtják végre, így piszkos olvasásokat engednek le, ami megegyezik a READ UNCOMMITTED tranzakciós izolációs szinttel
A PAGLOCK több oldalzárat használ, ahol egy táblazárat használnak
A READPAST lehetővé teszi, hogy a sql szerver kihagyja a zárt sorokat és végrehajtson tranzakciókat, míg a READ UNCOMMITTED tranzakciós izolációs szinteknél csak a RID zárolásokat hagyja ki, nem az oldal-, zóna- és táblazárakat
A ROWLOCK érvényesíti a sorzárak használatát
A TABLOCKX exkluzív táblázatszintű zárolást kényszerít ki, amely megakadályozza, hogy bármely más tranzakció használja a táblát a tranzakció során
Az UPLOCK kényszeríti a frissítések használatát, amikor egy táblázatot olvasnak megosztott zár nélkül
Megjegyzés: A különbség egy táblázat adatbázisban történő zárolása között SELECT * FROM table WITH (HOLDLOCK) Más tranzakciók olvashatják a táblát, de nem tudják frissíteni vagy törölni SELECT * FROM táblázat WITH (TABLOCKX) Más tranzakciók nem olvashatók, frissíthetők és törölhetnek táblákat |