SQL Server menyediakan cara mudah untuk mengirim email hasil kueri ke diri Anda sendiri (atau ke orang lain).
Untuk mengirim email dengan T-SQL, Anda perlu menggunakan sp_send_dbmail
prosedur tersimpan di msdb basis data. Prosedur ini menerima banyak argumen, salah satunya adalah @query
argumen. Itulah argumen yang melampirkan hasil kueri Anda ke email.
Contoh
Berikut adalah contoh dasar yang menggunakan argumen minimum:
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'DB Admin Profile',
@recipients = '[email protected]',
@body = 'Potential candidates for an Admin job, perhaps?',
@query = 'SELECT TOP(5) * FROM Artists;',
@execute_query_database = 'Music',
@subject = 'Query results as discussed';
Secara default, hasil kueri dicantumkan di badan email. Anda juga dapat mengirimkan hasilnya sebagai lampiran.
Hapus Padding
Jika hasil Anda diformat dengan terlalu banyak pengisi di dalam kolom, Anda dapat menggunakan @query_result_no_padding = 1
untuk menghilangkan bantalan ini.
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'DB Admin Profile',
@recipients = '[email protected]',
@body = 'Potential candidates for an Admin job, perhaps?',
@query = 'SELECT TOP(5) * FROM Artists;',
@execute_query_database = 'Music',
@query_result_no_padding = 1,
@subject = 'Query results as discussed';
Tambahkan Hasil Kueri sebagai Lampiran
Anda dapat menggunakan @attach_query_result_as_file
argumen untuk menambahkan hasil kueri sebagai lampiran. Ini menerima sedikit nilai, dengan default adalah 0
(tanpa lampiran).
Untuk mengirim hasil dalam lampiran, cukup berikan 1
untuk argumen ini.
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'DB Admin Profile',
@recipients = '[email protected]',
@body = 'Potential candidates for an Admin job, perhaps?',
@query = 'SELECT TOP(5) * FROM Artists;',
@execute_query_database = 'Music',
@attach_query_result_as_file = 1,
@query_attachment_filename = 'Artists.csv',
@query_result_header = 1,
@query_result_width = 256,
@query_result_separator = ',',
@exclude_query_output = 1,
@append_query_error = 1,
@query_no_truncate = 0,
@query_result_no_padding = 1,
@subject = 'Query results as discussed';
Dalam contoh ini saya telah menambahkan beberapa argumen lagi.
@query_attachment_filename
argumen memungkinkan Anda untuk menentukan nama file Anda sendiri (jika Anda tidak memberikan argumen ini, Database Mail akan membuatnya).
sp_send_dbmail
prosedur menerima lebih banyak argumen daripada yang saya cantumkan di sini. Lihat dokumentasi Microsoft untuk daftar lengkap argumen dan deskripsinya.
Mengonfigurasi Email Basis Data
Contoh di halaman ini mengasumsikan bahwa Anda telah mengaktifkan dan mengonfigurasi Database Mail.
Jika Anda tidak memiliki Database Mail yang dikonfigurasi, lihat Cara Mengirim Email dari SQL Server. Artikel itu memberikan contoh T-SQL untuk mengaktifkan dan mengonfigurasi Database Mail. Tidak butuh waktu lama.