En el Monitor de actividad, la siguiente consulta está causando una CPU alta y una duración promedio de 281 ms.
WAITFOR (
RECEIVE conversation_handle
, service_contract_name
, message_type_name
, message_body
FROM ExternalMailQueue
INTO @msgs
)
, TIMEOUT @rec_timeout
¿Alguna idea o pasos para resolver esto?
sql-server
service-broker
Ankit Shah
fuente
fuente
Respuestas:
Este es un arenque rojo.
WAITFOR (RECEIVE...)
se supone por definición que ... ¡espere mensajes! Por lo tanto, transcurrieron 281 segundos simplemente significa que durante 281 segundos no hubo ningún mensaje para recibir. En este caso, la aplicación es el proceso de envío externo del Correo electrónico de base de datos que está inactivo esperando que los mensajes se pongan en cola (es decir, espera asp_send_db_mail
que se llame). No hay nada que "resolver" aquí.fuente