sql >> Databáze >  >> RDS >> Sqlserver

Vrátit seznam e-mailů odeslaných z SQL Server Database Mail (T-SQL)

Pokud používáte databázovou poštu na serveru SQL Server, můžete použít sysmail_sentitems zobrazení zobrazí seznam všech e-mailů, které Database Mail odeslal.

Příklad

Zde je příklad vrácení všech odeslaných e-mailů. Všimněte si, že to je třeba provést na msdb databáze.

SELECT * FROM msdb.dbo.sysmail_sentitems;

Výsledek (při použití vertikálního výstupu):

mailitem_id                 | 3
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 03:58:57.887
send_request_user           | sa
sent_account_id             | 1
sent_status                 | sent
sent_date                   | 2020-08-24 03:59:01.000
last_mod_date               | 2020-08-24 03:59:01.543
last_mod_user               | sa

Použil jsem zde vertikální výstup, abyste se nemuseli posouvat do stran, abyste viděli všechny sloupce.

Zobrazuji také pouze první řádek (i když byly vráceny dva řádky), aby byly věci stručné.

Tady je to znovu, kromě toho, že tentokrát přepnu na horizontální výstup a zobrazím oba řádky. Také uvedu jen několik sloupců.

SELECT
    mailitem_id,
    sent_status,
    send_request_date
FROM msdb.dbo.sysmail_allitems;

Výsledek (při použití vertikálního výstupu):

+---------------+---------------+-------------------------+-------------------------+
| mailitem_id   | sent_status   | send_request_date       | sent_date               |
|---------------+---------------+-------------------------+-------------------------|
| 3             | sent          | 2020-08-24 03:58:57.887 | 2020-08-24 03:59:01.000 |
| 4             | sent          | 2020-08-24 04:11:19.300 | 2020-08-24 04:11:22.000 |
+---------------+---------------+-------------------------+-------------------------+

Můžete se dotázat sysmail_unsentitems vrátit seznam neodeslaných e-mailů (těch, které se teprve mají odeslat, nemusí nutně selhat).

Můžete se také dotazovat sysmail_faileditems získat všechny neúspěšné e-maily.

Můžete se také dotazovat sysmail_allitems získat všechny e-maily (odeslané, neodeslané, neúspěšné a opakující se).


  1. Jak rychle upravit hodnoty v tabulce v SQL Server Management Studio?

  2. Nelegální mix porovnávání Chyba MySQL

  3. SQLite vyberte řádky, pokud časové razítko odpovídá dnešnímu datu

  4. Domovská stránka Oracle 10g express se nezobrazuje