Exkluzivita X zámky vs U zámky
V matici kompatibility zámku níže je vidět, že X zámek je kompatibilní pouze s typy zámků stability schématu a Insert Range-Null. U je kompatibilní s následujícími dalšími sdílenými typy zámků S /IS /RS-S /RI-S /RX-S
matice kompatibility zámku https://i.msdn.microsoft.com/ms186396.LockConflictTable(en-us,SQL.105).gif
Granularita X zámky
Ty se vyjímají dobře na všech úrovních. Níže uvedené trasování skriptu a profileru ukazuje, že byly úspěšně odstraněny na úrovni řádku.
CREATE TABLE test_table (id int identity(1,1) primary key, col char(40))
INSERT INTO test_table
SELECT NEWID() FROM sys.objects
select * from test_table with (rowlock,XLOCK) where id=10

Ale řádky lze stále číst!
Ukázalo se, že při read committed úroveň izolace SQL Server ne vždy odstraní S zámky, tento krok přeskočí, pokud bez nich nehrozí přečtení nepotvrzených dat. To znamená, že neexistuje žádná záruka, že ke konfliktu zámku vůbec někdy dojde.
Pokud je však počáteční výběr with (paglock,XLOCK) pak to bude zastavte transakci čtení jako X zámek na stránce zablokuje IS zámek stránky, který bude čtenář vždy potřebovat. To bude mít samozřejmě dopad na souběžnost.
Další upozornění
I když zamknete řádek/stránku, neznamená to, že zablokujete všechny přístupy k danému řádku v tabulce. Zámek na řádku v seskupeném indexu nezabrání dotazům při čtení dat z odpovídajícího řádku v krycím neklastrovaném indexu.