Debe usar uno de los llamados tablas de sugerencias :
El bloqueo de actualización evita que otros procesos intenten actualizar o eliminar las filas en cuestión, pero no impide el acceso de lectura:
SELECT TOP (20) *
FROM [TMA_NOT_TO_ENTITY_QUEUE] WITH (UPDLOCK)
WHERE [TMA_NOT_TO_ENTITY_QUEUE].[STATE_ID] = 2
ORDER BY TMA_NOT_TO_ENTITY_QUEUE.ID
También hay un bloqueo exclusivo , pero básicamente, el bloqueo de actualización debería ser suficiente. Una vez que haya seleccionado sus filas con un bloqueo de actualización, esas filas están "protegidas" contra actualizaciones y escrituras hasta que finalice su transacción.