あなたが提案したように、OUTPUT 句を効果的に使用できます。
ライブ デモ:https://data.stackexchange.com/stackoverflow/query/8058/ so3319842
UPDATE #tbl
SET locked = 1
OUTPUT INSERTED.*
WHERE id IN (
SELECT TOP 1 id
FROM #tbl
WHERE locked = 0
ORDER BY id
)
こちらの記事もご覧ください:
http ://www.sqlmag.com/article/tsql3/more-top-troubles-using-top-with-insert-update-and-delete.aspx