Můžete použít nápovědu ROWLOCK, ale AFAIK SQL se může rozhodnout ji eskalovat, pokud mu docházejí prostředky
Z doco:
ROWLOCK Určuje, že zámky řádků jsou přijímány, když jsou zámky stránky nebo tabulky běžně přijímány. Při specifikovaných transakcích fungujících na úrovni SNAPSHOTisolation se zámky řádků neprovedou, pokud není ROWLOCK kombinován s jinými tabulkovými radami, které vyžadují zámky, jako je UPDLOCK a HOLDLOCK.
a
Rady pro zámek ROWLOCK, UPDLOCK a XLOCK, které získávají zámky na úrovni řádků, mohou umístit zámky na klíče indexu spíše než na řádky skutečných dat. Pokud má například atable index bez klastrů a příkaz SELECT používající nápovědu k zámku je zpracován krycím indexem, zámek se získá na klíči indexu v krycím indexu, nikoli na řádku dat v základní tabulce.
A nakonec to poskytuje docela podrobné vysvětlení eskalace zámků v SQL Server 2005, která byla změněna v SQL Server 2008.
Je zde také velmi do hloubky:Zamykání v databázovém stroji (v knihách online)
Takže obecně
UPDATE
Employees WITH (ROWLOCK)
SET Name='Mr Bean'
WHERE Age>93
Mělo by to být v pořádku, ale v závislosti na indexech a zatížení serveru to může skončit eskalací až k uzamčení stránky.