Database Mail

Berlaku untuk:SQL ServerAzure SQL Managed Instance

Email Database adalah solusi perusahaan untuk mengirim pesan email dari SQL Server Database Engine atau Azure SQL Managed Instance. Aplikasi Anda dapat mengirim pesan email kepada pengguna menggunakan Email Database melalui server SMTP eksternal. Pesan dapat berisi hasil kueri, dan juga dapat menyertakan file dari sumber daya apa pun di jaringan Anda.

Catatan

Email Database tersedia di SQL Server Database Engine dan Azure SQL Managed Instance, tetapi tidak di database Azure SQL singleton dan kumpulan elastis. Untuk informasi selengkapnya tentang menggunakan Email Database di Azure SQL Managed Instance, lihat Mengotomatiskan tugas manajemen menggunakan pekerjaan SQL Agent di Azure SQL Managed Instance.

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 dapat menggunakan Email Database tanpa menginstal klien EXTENDED MAPI di komputer yang menjalankan 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. Email Database sadar kluster dan didukung sepenuhnya 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 msdb database.

  • Keamanan profil: Email Database memberlakukan keamanan untuk profil email. Anda memilih msdb pengguna atau grup database 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: Database Mail 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 mempertahankan 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 menyimpan informasi untuk akun email dalam SQL Server Database Engine. Tidak perlu mengelola profil email di aplikasi klien eksternal. Wizard Konfigurasi Email Database menyediakan antarmuka yang nyaman untuk mengonfigurasi Email Database. Anda juga dapat membuat dan memelihara konfigurasi Email Database menggunakan Transact-SQL.

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

  • Audit: Email Database menyimpan salinan pesan dan lampiran yang dikirim dalam msdb database. 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 atau server email yang sesuai. Proses eksternal menyisipkan item dalam antrean Status untuk hasil operasi pengiriman. Menyisipkan entri baru dalam antrean status memulai prosedur tersimpan internal yang memperbarui status pesan email. Selain menyimpan pesan email yang dikirim, atau tidak dikirim, 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 sends messages to an SMTP mail server

Pengantar komponen Email Database

Email Database terdiri dari komponen utama berikut:

  • Komponen konfigurasi dan keamanan

    Database Mail menyimpan informasi konfigurasi dan keamanan dalam msdb database. 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-objek ini termasuk sp_send_dbmail prosedur tersimpan dan struktur data yang menyimpan informasi tentang pesan.

  • Database Mail executable

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

  • Komponen pengelogan dan audit

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

Mengonfigurasi Agen SQL 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.

Baca juga

Langkah berikutnya