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

Periksa Email Gagal di SQL Server (T-SQL)

Jika Anda mencoba mengirim email dengan SQL Server tetapi tidak terkirim, coba periksa sysmail_faileditems lihat.

Contoh

Berikut ini contoh pemeriksaan email yang gagal. Perhatikan bahwa itu harus dijalankan pada msdb basis data.

SELECT * FROM msdb.dbo.sysmail_faileditems;

Hasil (menggunakan keluaran vertikal):

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

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

Dalam hal ini, saya menunjukkan satu email yang gagal. Sebenarnya saya memiliki dua email yang gagal, tetapi saya memutuskan bahwa lebih ringkas untuk menampilkan hanya satu hasil.

Dalam kasus saya, saya telah menggunakan server email yang salah dalam kode yang mengirim email, dan email gagal. Segera setelah saya memperbarui kode untuk menggunakan server email yang benar, semua email berikutnya berhasil dikirim. Namun, ini tidak mengubah yang telah gagal, dan oleh karena itu, mereka tetap berada di sysmail_faileditems lihat.

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

Anda juga dapat menanyakan sysmail_sentitems untuk mendapatkan semua email terkirim.

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. Fungsi Agregat MIN dan MAX di SQL Server

  2. Pengenalan SQL Server

  3. Indeks Hilang SQL Server

  4. SQL Server DATEPART() vs DATENAME() – Apa Bedanya?

  5. Menerapkan Pencarian Teks Lengkap di SQL Server 2016 untuk pemula