Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Mengembalikan Daftar Email yang Dikirim dari SQL Server Database Mail (T-SQL)

Jika Anda menggunakan Database Mail di SQL Server, Anda dapat menggunakan sysmail_sentitems view untuk mengembalikan daftar semua email yang telah dikirim Database Mail.

Contoh

Berikut ini contoh mengembalikan semua email yang terkirim. Perhatikan bahwa ini perlu dilakukan pada msdb basis data.

SELECT * FROM msdb.dbo.sysmail_sentitems;

Hasil (menggunakan keluaran vertikal):

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

Saya menggunakan output vertikal di sini sehingga Anda tidak perlu menggulir ke samping untuk melihat semua kolom.

Saya juga hanya menampilkan baris pertama (meskipun dua baris dikembalikan), agar semuanya tetap ringkas.

Ini dia lagi, kecuali kali ini saya akan beralih ke output horizontal dan menampilkan kedua baris. Juga, saya akan menentukan hanya beberapa kolom.

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

Hasil (menggunakan keluaran vertikal):

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

Anda dapat menanyakan sysmail_unsentitems untuk mengembalikan daftar email yang belum terkirim (yang belum dikirim, belum tentu gagal).

Anda juga dapat menanyakan sysmail_faileditems untuk mendapatkan semua email yang gagal.

Anda juga dapat menanyakan sysmail_allitems untuk mendapatkan semua email (terkirim, tidak terkirim, gagal, dan mencoba lagi).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menangkap hitungan dari kueri SQL

  2. Bila tidak ada 'Pesan berdasarkan' yang ditentukan, urutan apa yang dipilih kueri untuk kumpulan rekaman Anda?

  3. Bagaimana cara memeriksa apakah ada database di SQL Server?

  4. Ubah Notifikasi dengan Sql Server 2008

  5. Bagaimana cara menyalin database SQL Azure ke server pengembangan lokal saya?