Sie müssen einen der sogenannten Tabellenhinweise verwenden :
Die Aktualisierungssperre verhindert, dass andere Prozesse versuchen, die betreffenden Zeilen zu aktualisieren oder zu löschen - aber es verhindert nicht den Lesezugriff:
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
Es gibt auch eine exklusive Sperre , aber im Grunde sollte die Update-Sperre ausreichen. Sobald Sie Ihre Zeilen mit einer Aktualisierungssperre ausgewählt haben, sind diese Zeilen vor Aktualisierungen und Schreibvorgängen "geschützt", bis Ihre Transaktion endet.