Beim Senden von E-Mails von SQL Server können Sie mit sysmail_unsentitems
nach nicht gesendeten E-Mails suchen ansehen.
Beispiel
Hier ist ein Beispiel für die Überprüfung auf nicht gesendete E-Mails. Beachten Sie, dass es auf der msdb
ausgeführt werden muss Datenbank.
SELECT * FROM msdb.dbo.sysmail_unsentitems;
Ergebnis (bei vertikaler Ausgabe):
mailitem_id | 4 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 04:11:19.300 send_request_user | sa sent_account_id | NULL sent_status | unsent sent_date | NULL last_mod_date | 2020-08-24 04:11:19.300 last_mod_user | sa
Ich habe hier eine vertikale Ausgabe verwendet, damit Sie nicht seitwärts scrollen müssen, um alle Spalten zu sehen.
In diesem Fall gibt es eine nicht gesendete E-Mail. Ich habe diese Abfrage zufällig unmittelbar nach dem Ausführen von msdb.dbo.sp_send_dbmail
ausgeführt um diese Mail zu versenden.
Wie sich herausstellte, wurde die E-Mail sofort gesendet, nachdem ich die obigen Ergebnisse kopiert hatte, und wenn ich diese Abfrage jetzt erneut ausführe, erhalte ich null Ergebnisse (d. h. es gibt keine nicht gesendeten E-Mails).
SELECT * FROM msdb.dbo.sysmail_unsentitems;
Ergebnis:
(0 rows affected)
Nur weil es keine ungesendeten E-Mails gibt, heißt das nicht, dass keine fehlgeschlagen sind.
Sie können sysmail_faileditems
abfragen um eine Liste fehlgeschlagener E-Mails zurückzugeben.
Sie können auch sysmail_sentitems
abfragen um alle gesendeten E-Mails zu erhalten.
Sie können auch sysmail_allitems
abfragen um alle E-Mails zu erhalten (gesendet, ungesendet, fehlgeschlagen und Wiederholung).