none
Servicio dbo.sysmail_help_status_sp se detiene RRS feed

  • Pregunta

  • Hola buen dia,

    Mi servicio database mail no envia mensaje porque al parecer el servicio sysmail_help_status_sp se detiene.

    Esto comenzo a pasar desde que restaure una copia de la msdb de otra base de datos a una actual.

    Actualmente limpio con el query:

    -------------------------------------------

    Use MSDB
    ALTER QUEUE ExternalMailQueue WITH STATUS = ON
    set nocount on
    declare @Conversation_handle uniqueidentifier;
    declare @message_type nvarchar(256);
    declare @counter bigint;
    declare @counter2 bigint;
    set @counter = (select count(*) from ExternalMailQueue)
    set @counter2=0
    while (@counter2<=@counter)
    begin
    receive @Conversation_handle = conversation_handle, @message_type = message_type_name from ExternalMailQueue
    set @counter2 = @counter2 + 1
    end

    ---------------------------------------------

    Una vez hecho eso vuelvo a subir el servicio y ya no se cae, hasta que hago una prueba envia el correo y se vuelve a llenar con un registro la tabla ExternalMailQueue, y se vuelve a caer el servicio y no levanta.

    Algun tip de que pueda ayudar?

    Gracias

    Saludos,

    jueves, 24 de agosto de 2017 15:10

Respuestas

Todas las respuestas

  • Hola Fernando, que tal.

    Te hago una consulta, el servicio de SQL Server Browser se encuentra activado en el equipo?

    Por otro lado, la instancia que tipo de instalación es? Stand-Alone o un Failover Cluster?

    Saludos.


    Mariano K.

    jueves, 24 de agosto de 2017 17:26
  • Hola Mariano, que tal.

    Contestando tus preguntas, si el Sql Server Browser se encuentra activado. Y es una instalacion Stand-Alone.

    Gracias.

    jueves, 24 de agosto de 2017 17:49
  • Fernando, entonces no queda otra opcion que realizar un par de pasos para tratar de aislar el problema:

    1) Verificar en la base MSDB este query:

    select * from sys.service_queues where name in ('ExternalMailQueue', 'InternalMailQueue')

    El resultado de las columnas iactivation_enabled, is_receive_enabled, and is_enqueue_enabled deberían estar con valor 1 (enabled). Si alguno esta desactivado usar ALTER QUEUE para activar.

    2) Ejecutar un profiler trace y marcar los eventos SP:StmtStarting, SP:StmtCompleted, y todos los eventos BROKER, Errores y Warnings.

    3) Mientras esté ejecutando el profiler hacer la prueba de enviar un mail de test, y a su vez ejecutar manualmente el stored procedure sp_sysmail_activate , y ademas manualmente ejecutar databaseMail90.exe

    4) Revisar el profiler trace por cualquier error y verificar si aparecen los eventos broker:Activation.

    En estos profiler, warning y errores podemos llegar a la causa.

    Suerte!


    Mariano K.

    jueves, 24 de agosto de 2017 19:52
  • Permiso. Aprovechando el post, El servicio SQL Server Browser debe estar activado para lo que pregunta el colega ? porque ?

    Saludos.


    DBA SQL Server Santiago/Chile

    viernes, 25 de agosto de 2017 0:18
  • Que tal, la aplicación databaseMail90.exe por defecto utiliza el port 1433, pero si la instancia no usa este puerto entonces el servicio de SQLBrowser puede indicar el port correcto.

    En el caso que tampoco se tenga el servicio de SQL Server Browser, entonces hay que realizar una configuración específica como indica el siguiente link:

    https://blogs.msdn.microsoft.com/esecuelesinfronteras/2011/06/08/configurar-database-mail-cuando-no-usamos-el-puerto-por-defecto-ni-sql-browser/

    Saludos.


    Mariano K.

    • Propuesto como respuesta Moderador M martes, 29 de agosto de 2017 20:50
    • Marcado como respuesta Moderador M jueves, 31 de agosto de 2017 20:45
    lunes, 28 de agosto de 2017 13:23