Bagikan melalui


Surat Basisdata

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

Database Mail tersedia di SQL Server Database Engine dan Azure SQL Managed Instance, tetapi tidak di Azure SQL Database dan elastic pools. 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-pesan yang diantrekan akan dikirim saat proses eksternal atau server SMTP sudah online.

  • Akun cadangan. 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 mendukung lingkungan kluster dan sepenuhnya kompatibel pada kluster.

Skalabilitas

  • Pengiriman Latar Belakang: Database Mail menyediakan pengiriman latar belakang atau asinkron. 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.

    • Untuk mengonfigurasi Database Mail, Anda harus menjadi anggota peran server tetap sysadmin.
  • 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. E-mail Database Mail mencatat aktivitas email ke SQL Server, log peristiwa Aplikasi Microsoft Windows, dan ke tabel dalam database msdb.

  • Pengauditan: Mail Database menyimpan salinan pesan dan lampiran yang dikirim di dalam basis data 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 atau server email yang sesuai. Proses eksternal menyisipkan item dalam antrian Status untuk hasil dari 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.

Diagram tentang bagaimana database sistem msdb mengirim pesan ke server email SMTP.

Pengantar Komponen Database Mail

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.

  • Eksekutabel Database Mail

    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 SQL Server Agent untuk menggunakan Database Mail

SQL Server Agent dapat dikonfigurasi untuk menggunakan Email Database. Ini diperlukan untuk pemberitahuan dan pemberitahuan otomatis saat tugas 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:

  • Peringatan 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.

Untuk mulai mengonfigurasi Agen SQL untuk menggunakan Email Database, lihat Mengonfigurasi email SQL Server Agent untuk menggunakan Email Database.

Mail basis data dengan grup ketersediaan terkonten

Untuk menggunakan Database Mail dengan grup ketersediaan yang dibatasi, Anda harus terhubung ke instance dan mengaktifkan Database Mail XPs (opsi konfigurasi server) menggunakan prosedur tersimpan sistem sp_configure. Langkah ini harus diselesaikan pada semua replika dalam grup ketersediaan yang terkandung.

  • Jika Anda mencoba mengaktifkan opsi email database sp_configure saat terhubung dengan listener grup ketersediaan tertutup, Anda akan menerima kesalahan yang diharapkan: Changes to server configuration options are not permitted in the connection to Contained Availability Group. Change connection to SQL Server instance level and retry the operation. (Microsoft SQL Server, Error: 5874)

Setelah mengaktifkan Database Mail XPs opsi pada semua replika, sambungkan ke pendengar grup ketersediaan yang terkandung untuk melanjutkan konfigurasi email database, seperti yang dijelaskan dalam Pilih Tugas Konfigurasi. Ini akan memastikan objek email database ada dalam grup ketersediaan yang terkandung dan tetap disinkronkan.

Dukungan TDS 8.0

SQL Server 2025 (17.x) memperkenalkan dukungan TDS 8.0 untuk Email Database. Protokol TDS 8.0 menyediakan keamanan dan enkripsi yang ditingkatkan untuk data yang dikirimkan antara SQL Server dan aplikasi klien. Ini memungkinkan Database Mail untuk bekerja di lingkungan tempat enkripsi TLS 1.3 dan TDS 8.0 diberlakukan.

Troubleshoot

Untuk memecahkan masalah Email Database, kunjungi:

Langkah selanjutnya