Como atualizar e solicitar usando o ms sql

Ideally eu quero fazer isso:

UPDATE TOP (10) messages SET status=10 WHERE status=0 ORDER BY priority DESC;

Em inglês: quero obter as 10 principais mensagens disponíveis (status = 0) do banco de dados e bloqueá-las (status = 10). Uma mensagem com prioridade mais alta deve ser recebida primeiro.

nfelizmente, o MS SQL não permite uma ordem por cláusula na atualizaçã

De qualquer forma, como contornar isso?

questionAnswers(5)

yourAnswerToTheQuestion