Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Verifica lo stato di tutti i messaggi di posta del database in SQL Server (T-SQL)

Se utilizzi Posta database in SQL Server, puoi utilizzare sysmail_allitems visualizza per controllare lo stato di tutte le email elaborate da Database Mail.

Esempio

Ecco un esempio di controllo dello stato di tutti i messaggi di posta. Nota che questo deve essere fatto su msdb banca dati.

SELECT * FROM msdb.dbo.sysmail_allitems;

Risultato (usando l'output verticale):

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

Ho usato l'output verticale qui in modo che non sia necessario scorrere lateralmente per vedere tutte le colonne.

Sto anche visualizzando solo la prima riga (anche se sono state restituite quattro righe), per mantenere le cose concise.

Eccolo di nuovo, tranne che questa volta visualizzerò tutte e quattro le righe. Questa volta passerò all'output orizzontale normale e specificherò solo alcune colonne.

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

Risultato (usando l'output verticale):

+---------------+---------------+-------------------------+
| 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 |
+---------------+---------------+-------------------------+