11

SQL Server から電子メールを送信していますが、テーブルのsent_status列の値をよりわかりやすいものにマップする必要があります。msdb.dbo.sysmail_mailitems

これまでのところ、2 つの値を特定しました。

  • 1 = 「送信済み」
  • 2 = 「失敗」

他に可能な値はありますか? もしそうなら、それらは何を表していますか?

4

2 に答える 2

8

関連するテーブルの MSDN ページの説明には次のように記載されています。msdb.dbo.sysmail_allitemssent_status

メールのステータス。可能な値は次のとおりです。

sent - メールが送信されました。

unsent - データベース メールはまだメッセージの送信を試みています。

再試行中 - データベース メールはメッセージの送信に失敗しましたが、再送信を試みています。

失敗 - データベース メールはメッセージを送信できませんでした。

2 つのビューを次のように接続します。

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

CASE次のステートメントで表現できる関係が得られます。

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
于 2015-09-28T19:53:41.550 に答える