meaning of the values of sent_status on msdb.dbo.sysmail_mailitems

后端 未结 2 1546
北荒
北荒 2021-02-15 14:31

I am sending emails from SQL Server, and need to map the values of the sent_status column on the msdb.dbo.sysmail_mailitems table to something more des

2条回答
  •  感情败类
    2021-02-15 15:21

    On the MSDN page for the related msdb.dbo.sysmail_allitems table, the description for sent_status says:

    The status of the mail. Possible values are:

    sent - The mail was sent.

    unsent - Database mail is still attempting to send the message.

    retrying - Database Mail failed to send the message but is attempting to send it again.

    failed - Database mail was unable to send the message.

    Connecting the two views together as follows:

    SELECT DISTINCT mi.sent_status, ai.sent_status 
    FROM 
        msdb.dbo.sysmail_allitems ai
         FULL OUTER JOIN 
        msdb.dbo.sysmail_mailitems mi ON 
            ai.mailitem_id = mi.mailitem_id
    

    Will yield a relationship, which can be expressed with the following CASE statement:

    SELECT 
        CASE sent_status
            WHEN 0 THEN 'Unsent'
            WHEN 1 THEN 'Sent'
            WHEN 2 THEN 'Failed'
            WHEN 3 THEN 'Retrying'
            END AS sent_status_desc
    FROM msdb..sysmail_mailitems
    

提交回复
热议问题