Bagikan melalui


Database Mail

Email Database adalah solusi perusahaan untuk mengirim pesan email dari mesin database SQL Server. Menggunakan Email Database, aplikasi database Anda dapat mengirim pesan email kepada pengguna. Pesan dapat berisi hasil kueri, dan juga dapat menyertakan file dari sumber daya apa pun di jaringan Anda.

Manfaat menggunakan Email Database

Email Database dirancang untuk keandalan, skalabilitas, keamanan, dan dukungan.

Keandalan

  • Email Database menggunakan Simple Mail Transfer Protocol (SMTP) standar untuk mengirim email. Anda bisa menggunakan Email Database tanpa menginstal klien MAPI Yang Diperluas di komputer yang berjalan SQL Server.

  • Isolasi proses. Untuk meminimalkan dampak pada SQL Server, komponen yang mengirimkan email berjalan di luar SQL Server, dalam proses terpisah. SQL Server akan terus mengantre pesan email meskipun proses eksternal berhenti atau gagal. Pesan yang diantrekan akan dikirim setelah proses luar atau server SMTP online.

  • Akun failover. Profil Email Database memungkinkan Anda menentukan lebih dari satu server SMTP. Jika server SMTP tidak tersedia, email masih dapat dikirimkan ke server SMTP lain.

  • Dukungan kluster. Database Mail sadar kluster dan didukung penuh pada kluster.

Skalabilitas

  • Pengiriman Latar Belakang: Database Mail menyediakan latar belakang, atau asinkron, pengiriman. Saat Anda memanggil sp_send_dbmail untuk mengirim pesan, Database Mail menambahkan permintaan ke antrean Service Broker. Prosedur tersimpan segera kembali. Komponen email eksternal menerima permintaan dan mengirimkan email.

  • Beberapa profil: Email Database memungkinkan Anda membuat beberapa profil dalam instans SQL Server. Secara opsional, Anda bisa memilih profil yang digunakan Email Database saat mengirim pesan.

  • Beberapa akun: Setiap profil dapat berisi beberapa akun failover. Anda dapat mengonfigurasi profil yang berbeda dengan akun yang berbeda untuk mendistribusikan email di beberapa server email.

  • Kompatibilitas 64-bit: Email Database didukung penuh pada penginstalan SQL Server 64-bit.

Keamanan

  • Nonaktif secara default: Untuk mengurangi area permukaan SQL Server, prosedur tersimpan Database Mail dinonaktifkan secara default.

  • Keamanan Email:Untuk mengirim Email Database, Anda harus menjadi anggota peran database DatabaseMailUserRole dalam database msdb .

  • Keamanan profil: Email Database memberlakukan keamanan untuk profil email. Anda memilih pengguna atau grup database msdb yang memiliki akses ke profil Email Database. Anda dapat memberikan akses ke pengguna tertentu, atau semua pengguna di msdb. Profil privat membatasi akses ke daftar pengguna tertentu. Profil publik tersedia untuk semua pengguna dalam database.

  • Gubernur ukuran lampiran: Email Database memberlakukan batas yang dapat dikonfigurasi pada ukuran file lampiran. Anda dapat mengubah batas ini dengan menggunakan prosedur tersimpan sysmail_configure_sp .

  • Ekstensi file yang dilarang: Database Mail menyimpan daftar ekstensi file yang dilarang. Pengguna tidak dapat melampirkan file dengan ekstensi yang muncul dalam daftar. Anda dapat mengubah daftar ini dengan menggunakan sysmail_configure_sp.

  • Email Database berjalan di bawah akun layanan SQL Server Engine. Untuk melampirkan file dari folder ke email, akun mesin SQL Server harus memiliki izin untuk mengakses folder dengan file.

Dukungan

  • Konfigurasi terintegrasi: Email Database mempertahankan informasi untuk akun email dalam Transact-SQL.

  • Pengelogan. Log Email Database aktivitas email ke SQL Server, log peristiwa aplikasi Microsoft Windows, dan ke tabel dalam database msdb.

  • Audit: Email Database menyimpan salinan pesan dan lampiran yang dikirim dalam database msdb . Anda dapat dengan mudah mengaudit penggunaan Email Database dan meninjau pesan yang dipertahankan.

  • Dukungan untuk HTML: Email Database memungkinkan Anda mengirim email yang diformat sebagai HTML.

Arsitektur Email Database

Database Mail dirancang pada arsitektur antrean yang menggunakan teknologi broker layanan. Saat pengguna menjalankan sp_send_dbmail, prosedur tersimpan menyisipkan item ke dalam antrean email dan membuat rekaman yang berisi pesan email. Menyisipkan entri baru dalam antrean email memulai proses Email Database eksternal (DatabaseMail.exe). Proses eksternal membaca informasi email dan mengirim pesan email ke server email atau server yang sesuai. Proses eksternal menyisipkan item dalam antrean Status untuk hasil operasi kirim. Menyisipkan entri baru dalam antrean status memulai prosedur tersimpan internal yang memperbarui status pesan email. Selain menyimpan pesan email yang terkirim, atau tidak terkirim, Email Database juga merekam lampiran email apa pun dalam tabel sistem. Tampilan Email Database menyediakan status pesan untuk pemecahan masalah, dan prosedur tersimpan memungkinkan administrasi antrean Email Database.

msdb mengirim pesan ke server email SMTP

Pengantar Komponen Email Database

Email Database terdiri dari komponen utama berikut:

  • Komponen konfigurasi dan keamanan

    Database Mail menyimpan informasi konfigurasi dan keamanan dalam database msdb . Objek konfigurasi dan keamanan membuat profil dan akun yang digunakan oleh Database Mail.

  • Komponen olahpesan

    Database msdb bertindak sebagai database host email yang menyimpan objek olahpesan yang digunakan Database Mail untuk mengirim email. Objek ini mencakup prosedur tersimpan sp_send_dbmail dan struktur data yang menyimpan informasi tentang pesan.

  • Database Mail executable

    Database Mail yang dapat dieksekusi adalah program eksternal yang membaca dari antrean dalam database msdb dan mengirim pesan ke server email.

  • Komponen pengelogan dan audit

    Database Mail merekam informasi pengelogan di database msdb dan log peristiwa aplikasi Microsoft Windows.

Mengonfigurasi Agen untuk menggunakan Email Database:

SQL Server Agent dapat dikonfigurasi untuk menggunakan Email Database. Ini diperlukan untuk pemberitahuan pemberitahuan dan pemberitahuan otomatis saat pekerjaan selesai.

Peringatan

Langkah-langkah pekerjaan individual dalam pekerjaan juga dapat mengirim email tanpa mengonfigurasi SQL Server Agent untuk menggunakan Email Database. Misalnya, langkah pekerjaan Transact-SQL dapat menggunakan Email Database untuk mengirim hasil kueri ke daftar penerima.

Anda dapat mengonfigurasi SQL Server Agent untuk mengirim pesan email ke operator yang telah ditentukan sebelumnya saat:

  • Pemberitahuan dipicu. Pemberitahuan dapat dikonfigurasi untuk mengirim pemberitahuan email tentang peristiwa tertentu yang terjadi. Misalnya, pemberitahuan dapat dikonfigurasi untuk memberi tahu operator tentang peristiwa database atau kondisi sistem operasi tertentu yang mungkin memerlukan tindakan segera. Untuk informasi selengkapnya tentang mengonfigurasi pemberitahuan, lihat Pemberitahuan.

  • Tugas terjadwal, seperti pencadangan database atau peristiwa replikasi, berhasil atau gagal. Misalnya, Anda dapat menggunakan SQL Server Agent Mail untuk memberi tahu operator jika terjadi kesalahan selama pemrosesan pada akhir bulan.

Topik Komponen Email Database