Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: SQL Server
Azure SQL Managed Instance
Artikel ini menjelaskan cara memecahkan masalah di mana pesan email dari Email Database berhasil diantrekan, tetapi pesan tidak dikirim.
Diagnosis masalah
Program eksternal Email Database mencatat aktivitas email dalam msdb
database.
Pertama, untuk mengonfirmasi bahwa Email Database diaktifkan, gunakan Database Mail XPs (opsi konfigurasi server) dari prosedur tersimpan
sp_configure
sistem, seperti dalam contoh berikut:EXEC sp_configure 'show advanced', 1; RECONFIGURE; EXEC sp_configure; GO
Kemudian, jalankan pernyataan berikut dalam
msdb
database untuk memeriksa status antrean email:EXEC msdb.dbo.sysmail_help_queue_sp @queue_type = 'Mail';
Untuk penjelasan terperinci tentang kolom, lihat sysmail_help_queue_sp (Transact-SQL).
Periksa tampilan
sysmail_event_log
untuk aktivitas. Tampilan harus berisi entri yang menyatakan bahwa program eksternal Email Database telah dimulai. Jika tidak ada entri dalam tampilansysmail_event_log
, periksa indikasi Pesan yang Diantrekan, Tidak Ada Entri disysmail_event_log
.Jika terjadi kesalahan dalam tampilan
sysmail_event_log
, selesaikan masalah kesalahan tersebut. Periksa tampilansysmail_allitems
untuk status pesan.
Status pesan tidak dikirim
Status belum terkirim menunjukkan bahwa Program Eksternal Mail Database belum memproses pesan email.
Program eksternal Email Database mungkin tertinggal dalam memproses pesan; tingkat di mana program eksternal memproses pesan tergantung pada kondisi jaringan, batas waktu coba lagi, volume pesan, dan kapasitas server SMTP. Jika masalah berlanjut, pertimbangkan untuk menggunakan lebih dari satu profil untuk mendistribusikan pesan di antara lebih dari satu server SMTP. Tinjau beban email yang dikirim dari SQL Server untuk memverifikasi bahwa email yang dikirim valid dan dimaksudkan.
Periksa tanggal modifikasi terbaru untuk pesan yang berhasil dikirimkan. Jika pengiriman sukses terakhir terjadi beberapa waktu lalu, periksa tampilan sysmail_event_log
untuk memverifikasi bahwa program eksternal berhasil dimulai oleh Service Broker. Jika upaya terakhir tidak memulai program eksternal, verifikasi bahwa Program Eksternal Email Database terletak di direktori yang benar, dan bahwa akun layanan untuk SQL Server memiliki izin untuk menjalankan yang dapat dieksekusi. Periksa log peristiwa Aplikasi Windows untuk kesalahan yang terkait dengan Email Database.
Catatan
Untuk menghapus pesan lama yang tidak dikirim, tunggu hingga pesan yang tidak dapat dikirim adalah pesan terlama dalam antrean, lalu gunakan prosedur tersimpan sistem msdb.dbo.sysmail_delete_mailitems_sp untuk menghapusnya.
Coba lagi status pesan
Status coba lagi menunjukkan bahwa Database Mail mencoba mengirimkan pesan ke server SMTP tetapi tidak bisa. Biasanya ini disebabkan oleh gangguan jaringan, kegagalan server SMTP, atau akun Email Database yang salah dikonfigurasi. Pesan pada akhirnya akan berhasil atau gagal dan memposting pesan ke log peristiwa Aplikasi Windows.
Status pesan dikirim
Status terkirim menunjukkan bahwa program eksternal Email Database berhasil mengirimkan pesan email ke server SMTP.
Jika pesan tidak sampai di tujuan, server SMTP menerima pesan dari Email Database, tetapi tidak mengirimkan pesan ke penerima akhir. Periksa log server SMTP, atau hubungi administrator server SMTP. Anda juga dapat menguji server email SMTP dengan menggunakan klien lain seperti Outlook Express.
Status pesan gagal
Status gagal menunjukkan bahwa program eksternal Email Database tidak dapat mengirimkan pesan ke server SMTP.
Dalam hal ini, msdb.dbo.sysmail_event_log
tampilan sistem berisi informasi terperinci dari program eksternal. Untuk kueri sampel yang menggabungkan sysmail_faileditems
dan sysmail_event_log
untuk mengambil pesan kesalahan secara terperinci, lihat Periksa Status Pesan Email yang Dikirim Dengan Database Mail. Penyebab kegagalan yang paling umum adalah alamat tujuan yang salah, atau masalah jaringan yang mencegah program eksternal mencapai satu atau beberapa akun failover. Masalah di server SMTP juga dapat menyebabkan server tersebut menolak email. Dengan menggunakan Wizard Konfigurasi Email Database, ubah Tingkat Pengelogan ke Verbose dan kirim email pengujian untuk menyelidiki titik kegagalan.