In Activity Monitor, the following query is causing high CPU and 281ms average duration.
WAITFOR (
RECEIVE conversation_handle
, service_contract_name
, message_type_name
, message_body
FROM ExternalMailQueue
INTO @msgs
)
, TIMEOUT @rec_timeout
Any idea or steps how to resolve this?
Best Answer
This is a red herring.
WAITFOR (RECEIVE...)
is by definition supposed to ... wait for messages! Therefore 281 seconds elapsed simply means that for 281 seconds there was no message to receive. In this case the application is the Database Mail external sending process that is sitting idle waiting for messages to be enqueued (ie. waits forsp_send_db_mail
to be called). There is nothing to 'resolve' here.