No Monitor de Atividade, a consulta a seguir está causando alta CPU e duração média de 281ms.
WAITFOR (
RECEIVE conversation_handle
, service_contract_name
, message_type_name
, message_body
FROM ExternalMailQueue
INTO @msgs
)
, TIMEOUT @rec_timeout
Alguma idéia ou etapas de como resolver isso?
sql-server
service-broker
Ankit Shah
fonte
fonte
Respostas:
Este é um arenque vermelho.
WAITFOR (RECEIVE...)
é por definição suposto ... esperar por mensagens! Portanto, 281 segundos decorridos significam simplesmente que, durante 281 segundos, não havia nenhuma mensagem a receber. Nesse caso, o aplicativo é o processo de envio externo do Database Mail que está ocioso aguardando que as mensagens sejam enfileiradas (ou seja, esperasp_send_db_mail
ser chamado). Não há nada para 'resolver' aqui.fonte