Uma explicação...
- ROWLOCK/PAGELOCK é granularidade
- XLOCK é o modo
O nível e modo de granularidade e isolamento são ortogonais.
-
Granularidade =o que está bloqueado =linha, página, tabela (PAGLOCK, ROWLOCK, TABLOCK
)
-
Nível de isolamento =duração do bloqueio, simultaneidade (HOLDLOCK, READCOMMITTED, REPEATABLEREAD, SERIALIZABLE
)
-
Modo =compartilhamento/exclusividade (UPDLOCK, XLOCK
)
-
"combinado" por exemploNOLOCK, TABLOCKX
XLOCK teria bloqueado a linha exclusivamente como você deseja. ROWLOCK/PAGELOCK não teria.