Bạn có thể sử dụng gợi ý ROWLOCK, nhưng AFAIK SQL có thể quyết định báo cáo nếu nó sắp hết tài nguyên
Từ doco:
ROWLOCK Chỉ định rằng khóa hàng được thực hiện khi khóa trang hoặc bảng được thực hiện bất thường. Khi các giao dịch được chỉ định hoạt động ở mức SNAPSHOTisolation, các khóa hàng sẽ không được thực hiện trừ khi ROWLOCK được kết hợp với các gợi ý bảng khác yêu cầu khóa, chẳng hạn như UPDLOCK và HOLDLOCK.
và
Gợi ý khóa ROWLOCK, UPDLOCK và XLOCK để có được các khóa cấp độ hàng có thể gắn trên các khóa chỉ mục hơn là các hàng dữ liệu thực tế. Ví dụ:nếu atable có chỉ mục không bao gồm và câu lệnh aSELECT sử dụng gợi ý khóa được xử lý bởi chỉ mục bao trùm, thì một khóa được yêu cầu trên khóa chỉ mục trong chỉ mục bao phủ chứ không phải trên phím dữ liệu trong bảng cơ sở.
Và cuối cùng, điều này đưa ra một lời giải thích khá sâu về khóa leo thang trong SQL Server 2005 đã được thay đổi trong SQL Server 2008.
Ngoài ra, còn rất chuyên sâu:Khóa trong Công cụ cơ sở dữ liệu (trong sách trực tuyến)
Vì vậy, nói chung
UPDATE
Employees WITH (ROWLOCK)
SET Name='Mr Bean'
WHERE Age>93
Sẽ ổn, nhưng tùy thuộc vào chỉ mục và tải trên máy chủ, nó có thể dẫn đến tình trạng khóa trang.