SQL Serverでデータベースメールを使用する場合は、sysmail_allitems
を使用できます。 データベースメールが処理したすべての電子メールのステータスを確認するために表示します。
例
すべてのメールメッセージのステータスを確認する例を次に示します。これはmsdb
で行う必要があることに注意してください データベース。
SELECT * FROM msdb.dbo.sysmail_allitems;
結果(垂直出力を使用):
mailitem_id | 1 profile_id | 1 recipients | [email protected] copy_recipients | NULL blind_copy_recipients | NULL subject | SQL Server Agent Job: FAILED body | Your favorite SQL Server Agent job just failed body_format | TEXT importance | NORMAL sensitivity | NORMAL file_attachments | NULL attachment_encoding | MIME query | NULL execute_query_database | NULL attach_query_result_as_file | 0 query_result_header | 1 query_result_width | 256 query_result_separator | exclude_query_output | 0 append_query_error | 0 send_request_date | 2020-08-24 02:40:48.093 send_request_user | sa sent_account_id | NULL sent_status | failed sent_date | 2020-08-24 02:41:53.000 last_mod_date | 2020-08-24 02:41:53.290 last_mod_user | sa
ここでは、すべての列を表示するために横にスクロールする必要がないように、垂直出力を使用しました。
簡潔にするために、最初の行だけを表示しています(4行が返されましたが)。
今回も4行すべてを表示することを除いて、ここにあります。今回は通常の水平出力に切り替えて、数列だけを指定します。
SELECT
mailitem_id,
sent_status,
send_request_date
FROM msdb.dbo.sysmail_allitems;
結果(垂直出力を使用):
+---------------+---------------+-------------------------+ | mailitem_id | sent_status | send_request_date | |---------------+---------------+-------------------------| | 1 | failed | 2020-08-24 02:40:48.093 | | 2 | failed | 2020-08-24 02:47:40.833 | | 3 | sent | 2020-08-24 03:58:57.887 | | 4 | sent | 2020-08-24 04:11:19.300 | +---------------+---------------+-------------------------+