En forklaring...
- ROWLOCK/PAGELOCK er granularitet
- XLOCK er tilstand
Granularitet og isolationsniveau og tilstand er ortogonale.
-
Granularitet =hvad der er låst =række, side, tabel (
PAGLOCK, ROWLOCK, TABLOCK) -
Isolationsniveau =låsevarighed, samtidighed (
HOLDLOCK, READCOMMITTED, REPEATABLEREAD, SERIALIZABLE) -
Mode =deling/eksklusivitet (
UPDLOCK, XLOCK) -
"kombineret" f.eks.
NOLOCK, TABLOCKX
XLOCK ville have låst rækken udelukkende som du vil. ROWLOCK/PAGELOCK ville ikke have.