sysmail_unsentitems (T-SQL)
Berlaku untuk: SQL Server Azure SQL Managed Instance
Berisi satu baris untuk setiap pesan Email Database dengan status tidak dikirim atau coba lagi. Pesan dengan status tidak terkirim atau coba lagi masih dalam antrean email dan dapat dikirim kapan saja. Pesan dapat memiliki status tidak dikirim karena alasan berikut:
Pesan baru, dan meskipun pesan telah ditempatkan pada antrean email, Database Mail sedang mengerjakan pesan lain dan belum mencapai pesan ini.
Program eksternal Email Database tidak berjalan dan tidak ada email yang dikirim.
Pesan dapat memiliki status coba lagi karena alasan berikut:
- Email Database telah mencoba mengirim email, tetapi server email SMTP tidak dapat dihubungi. Email Database akan terus mencoba mengirim pesan menggunakan akun Email Database lain yang ditetapkan ke profil yang mengirim pesan. Jika tidak ada akun yang dapat mengirim email, Email Database akan menunggu lamanya waktu yang dikonfigurasi untuk parameter Penundaan Coba Lagi Akun lalu mencoba mengirim pesan lagi. Email Database menggunakan parameter Percobaan Kembali Akun untuk menentukan berapa kali mencoba mengirim pesan. Pesan mempertahankan status coba lagi selama Email Database mencoba mengirim pesan.
Gunakan tampilan ini saat Anda ingin melihat berapa banyak pesan yang menunggu untuk dikirim dan berapa lama pesan tersebut berada dalam antrean email. Biasanya jumlah pesan yang tidak dikirim akan rendah. Lakukan pengujian tolok ukur selama operasi normal untuk menentukan jumlah pesan yang wajar dalam antrean pesan untuk operasi Anda.
Untuk melihat semua pesan yang diproses oleh Email Database, gunakan sysmail_allitems (Transact-SQL). Untuk melihat hanya pesan dengan status gagal, gunakan sysmail_faileditems (Transact-SQL). Untuk melihat hanya pesan yang dikirim, gunakan sysmail_sentitems (Transact-SQL).
Nama kolom | Jenis data | Deskripsi |
---|---|---|
mailitem_id | int | Pengidentifikasi item email dalam antrean email. |
profile_id | int | Pengidentifikasi profil yang digunakan untuk mengirimkan pesan. |
Penerima | varchar(max) | Alamat email penerima pesan. |
copy_recipients | varchar(max) | Alamat email dari mereka yang menerima salinan pesan. |
blind_copy_recipients | varchar(max) | Alamat email dari mereka yang menerima salinan pesan tetapi yang namanya tidak muncul di header pesan. |
subject | nvarchar(510) | Baris subjek pesan. |
body | varchar(max) | Isi pesan. |
body_format | varchar(20) | Format isi pesan. Nilai yang mungkin adalah TEXT dan HTML. |
Penting | varchar(6) | Parameter penting pesan. |
sensitivitas | varchar(12) | Parameter sensitivitas pesan. |
file_attachments | varchar(max) | Daftar nama file yang dibatasi titik koma yang dilampirkan ke pesan email. |
attachment_encoding | varchar(20) | Jenis lampiran email. |
query | varchar(max) | Kueri yang dijalankan oleh program email. |
execute_query_database | nama sysname | Konteks database tempat program email menjalankan kueri. |
attach_query_result_as_file | bit | Saat nilainya adalah 0, hasil kueri disertakan dalam isi pesan email, setelah konten isi. Ketika nilainya adalah 1, hasilnya dikembalikan sebagai lampiran. |
query_result_header | bit | Saat nilainya adalah 1, hasil kueri berisi header kolom. Saat nilainya adalah 0, hasil kueri tidak menyertakan header kolom. |
query_result_width | int | Parameter query_result_width pesan. |
query_result_separator | karakter(1) | Karakter yang digunakan untuk memisahkan kolom dalam output kueri. |
exclude_query_output | bit | Parameter exclude_query_output pesan. Untuk informasi selengkapnya, lihat sp_send_dbmail (Transact-SQL). |
append_query_error | bit | Parameter append_query_error pesan. 0 menunjukkan bahwa Email Database tidak boleh mengirim pesan email jika ada kesalahan dalam kueri. |
send_request_date | datetime | Tanggal dan waktu pesan ditempatkan pada antrean email. |
send_request_user | nama sysname | Pengguna yang mengirimkan pesan. Ini adalah konteks pengguna dari prosedur email database, bukan bidang Dari pesan. |
sent_account_id | int | Pengidentifikasi akun Email Database yang digunakan untuk mengirim pesan. Selalu NULL untuk tampilan ini. |
sent_status | varchar(8) | Akan tidak terkirim jika Email Database belum mencoba mengirim email. Akan mencoba kembali jika Email Database gagal mengirim pesan tetapi mencoba lagi. |
sent_date | datetime | Tanggal dan waktu Email Database terakhir kali mencoba mengirim email. NULL jika Email Database belum mencoba mengirim pesan. |
last_mod_date | datetime | Tanggal dan waktu modifikasi terakhir baris. |
last_mod_user | nama sysname | Pengguna yang terakhir mengubah baris. |
Keterangan
Saat memecahkan masalah Email Database, tampilan ini dapat membantu Anda mengidentifikasi sifat masalah, dengan menunjukkan jumlah pesan yang menunggu untuk dikirim, dan jumlah waktu pesan menunggu. Jika tidak ada pesan yang dikirim, program eksternal Email Database mungkin tidak berjalan, atau mungkin ada masalah jaringan yang mencegah Email Database menghubungi server SMTP. Jika banyak pesan yang tidak dikirim memiliki profile_id yang sama, mungkin ada masalah dengan server SMTP. Pertimbangkan untuk menambahkan akun tambahan ke profil. Jika pesan dikirim, tetapi pesan menghabiskan terlalu banyak waktu dalam antrean, SQL Server mungkin memerlukan lebih banyak sumber daya untuk memproses volume pesan yang Anda butuhkan.
Izin
Diberikan kepada peran server tetap sysadmin dan peran database DatabaseMailUserRole . Saat dijalankan oleh anggota peran server tetap sysadmin , tampilan ini menunjukkan semua pesan yang tidak ada atau coba lagi. Semua pengguna lain hanya melihat pesan yang tidak terkirim atau mencoba kembali yang mereka kirimkan.