Eu inicio o seguinte comando em meu aplicativo:
WAITFOR (RECEIVE CONVERT(int, message_body) AS Message FROM MyQueue)
Quando executo `sp_who2 active', obtenho Status=SUSPENDED e Command=DELETE
Observação: movido do StackOverflow.
Eu inicio o seguinte comando em meu aplicativo:
WAITFOR (RECEIVE CONVERT(int, message_body) AS Message FROM MyQueue)
Quando executo `sp_who2 active', obtenho Status=SUSPENDED e Command=DELETE
Observação: movido do StackOverflow.
Porque é um DELETE. RECEIVe é apenas açúcar sintático para algo como
Se você ativar a retenção, será uma ATUALIZAÇÃO e será exibida como uma ATUALIZAÇÃO. Existem alguns detalhes, como como o bloqueio do grupo de conversação é feito, como a semântica ExactlyOnceInOrder da mensagem adequada é garantida e a árvore de sintaxe de RECEIVE não é realmente possível de ser construída em T-SQL. Como eu disse, detalhes...
Não é por acaso que eu recomendo em Using Tables as Queues usar a cláusula OUTPUT de DELETE para 'desenfileirar' de uma tabela...