Nếu bạn đang chờ đợi một nguồn khác, chẳng hạn như người dùng cuối, thì hãy nghe theo lời khuyên của Dave Markle và đừng làm điều đó.
Nếu không, hãy thử mã T-SQL sau:
BEGIN TRAN
SELECT *
FROM authors AU
WITH (HOLDLOCK, ROWLOCK)
WHERE AU.au_id = '274-80-9391'
/* Do all your stuff here while the row is locked */
COMMIT TRAN
HOLDLOCK gợi ý lịch sự yêu cầu SQL Server giữ khóa cho đến khi bạn thực hiện giao dịch. ROWLOCK gợi ý một cách lịch sự yêu cầu SQL Server chỉ khóa hàng này thay vì khóa trang hoặc khóa bảng.
Lưu ý rằng nếu nhiều hàng bị ảnh hưởng, SQL Server sẽ chủ động và chuyển sang trạng thái khóa trang hoặc bạn sẽ có cả một đội quân khóa hàng lấp đầy bộ nhớ máy chủ của bạn và xử lý sa lầy.