12

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?

Hannah Vernon
  • 70,928
  • 22
  • 177
  • 323
SQLLogic
  • 121
  • 1
  • 1
  • 3

1 Answers1

16

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 for sp_send_db_mail to be called). There is nothing to 'resolve' here.

Remus Rusanu
  • 52,054
  • 4
  • 96
  • 172