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.