Wenn Sie Datenbank-E-Mail in SQL Server verwenden, können Sie sysmail_sentitems verwenden view, um eine Liste aller E-Mails anzuzeigen, die Database Mail gesendet hat.
Beispiel
Hier ist ein Beispiel für die Rückgabe aller gesendeten E-Mails. Beachten Sie, dass dies auf der msdb erfolgen muss Datenbank.
SELECT * FROM msdb.dbo.sysmail_sentitems; Ergebnis (bei vertikaler Ausgabe):
mailitem_id | 3profil_id | 1 Empfänger | example@sqldat.comcopy_recipients | NULLblind_copy_recipients | NULLBetreff | SQL Server-Agent-Auftrag:FAILEDbody | Ihr bevorzugter SQL Server-Agent-Job ist gerade fehlgeschlagenbody_format | TEXTwichtigkeit | NORMALEEmpfindlichkeit | NORMALfile_attachments | NULLattachment_encoding | MIME-Abfrage | NULLexecute_query_database | NULLattach_query_result_as_file | 0query_result_header | 1query_result_width | 256query_result_separator | Ausschluss_Abfrageausgabe | 0append_query_error | 0send_request_date | 2020-08-24 03:58:57.887send_request_user | sent_account_id | 1gesendet_status | sendsent_date | 2020-08-24 03:59:01.000last_mod_date | 2020-08-24 03:59:01.543last_mod_user | sa
Ich habe hier eine vertikale Ausgabe verwendet, damit Sie nicht seitwärts scrollen müssen, um alle Spalten zu sehen.
Ich zeige auch nur die erste Zeile an (obwohl zwei Zeilen zurückgegeben wurden), um die Dinge übersichtlich zu halten.
Hier ist es wieder, außer dass ich dieses Mal zur horizontalen Ausgabe wechsle und beide Zeilen anzeigen werde. Außerdem gebe ich nur wenige Spalten an.
SELECT
mailitem_id,
sent_status,
send_request_date
FROM msdb.dbo.sysmail_allitems; Ergebnis (bei vertikaler Ausgabe):
Sie können sysmail_unsentitems abfragen um eine Liste nicht gesendeter E-Mails zurückzugeben (die noch gesendet werden müssen, nicht unbedingt fehlgeschlagen sind).
Sie können auch sysmail_faileditems abfragen um alle fehlgeschlagenen E-Mails zu erhalten.
Sie können auch sysmail_allitems abfragen um alle E-Mails zu erhalten (gesendet, ungesendet, fehlgeschlagen und Wiederholung).