SQL Server から電子メールを送信していますが、テーブルのsent_status
列の値をよりわかりやすいものにマップする必要があります。msdb.dbo.sysmail_mailitems
これまでのところ、2 つの値を特定しました。
- 1 = 「送信済み」
- 2 = 「失敗」
他に可能な値はありますか? もしそうなら、それらは何を表していますか?
SQL Server から電子メールを送信していますが、テーブルのsent_status
列の値をよりわかりやすいものにマップする必要があります。msdb.dbo.sysmail_mailitems
これまでのところ、2 つの値を特定しました。
他に可能な値はありますか? もしそうなら、それらは何を表していますか?
関連するテーブルの MSDN ページの説明には、次のように記載されています。msdb.dbo.sysmail_allitems
sent_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