Jeśli używasz poczty bazy danych w programie SQL Server, możesz użyć sysmail_allitems
widok, aby sprawdzić stan wszystkich wiadomości e-mail, które przetworzyła poczta bazy danych.
Przykład
Oto przykład sprawdzania stanu wszystkich wiadomości e-mail. Pamiętaj, że należy to zrobić w msdb
baza danych.
SELECT * FROM msdb.dbo.sysmail_allitems;
Wynik (przy użyciu wyjścia pionowego):
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
Użyłem tutaj wyjścia pionowego, aby nie trzeba było przewijać na boki, aby zobaczyć wszystkie kolumny.
Wyświetlam również tylko pierwszy wiersz (mimo że zwrócono cztery wiersze), aby zachować zwięzłość.
Oto znowu, ale tym razem wyświetlę wszystkie cztery wiersze. Tym razem przełączę się na normalne wyjście poziome i określę tylko kilka kolumn.
SELECT
mailitem_id,
sent_status,
send_request_date
FROM msdb.dbo.sysmail_allitems;
Wynik (przy użyciu wyjścia pionowego):
+---------------+---------------+-------------------------+ | 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 | +---------------+---------------+-------------------------+