Ако използвате Database Mail в SQL Server, можете да използвате sysmail_allitems
преглед, за да проверите състоянието на всички имейли, които Database Mail е обработил.
Пример
Ето пример за проверка на състоянието на всички имейл съобщения. Имайте предвид, че това трябва да се направи в 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
Използвах вертикален изход тук, така че да не е нужно да превъртате настрани, за да видите всички колони.
Също така показвам само първия ред (въпреки че бяха върнати четири реда), за да бъдат нещата кратки.
Ето го отново, освен този път ще покажа всичките четири реда. Този път ще премина към нормалния хоризонтален изход и ще посоча само няколко колони.
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 | +---------------+---------------+-------------------------+