Saat Anda menggunakan Database Mail untuk mengirim email dengan lampiran, Anda harus memastikan bahwa ukuran file lampiran berada dalam ukuran file lampiran yang diizinkan.
Jika Anda perlu mengirim lampiran yang lebih besar dari batas lampiran, Anda harus meningkatkan batas itu.
Untungnya, meningkatkan ukuran file lampiran yang diizinkan dapat dilakukan dengan satu baris kode T-SQL.
Kesalahan
Berikut kesalahan yang akan Anda terima jika Anda mencoba mengirim lampiran yang lebih besar dari ukuran file lampiran yang diizinkan:
Msg 22051, Level 16, State 1, Line 0 File attachment or query results size exceeds allowable value of 1000000 bytes.
Periksa Batas
Jika Anda belum menerima kesalahan, Anda mungkin tidak tahu apa batasnya. Anda dapat menggunakan sysmail_help_configure_sp
prosedur tersimpan di msdb database untuk memeriksa batas ukuran file lampiran.
EXEC msdb.dbo.sysmail_help_configure_sp 'MaxFileSize';
Hasil:
+-------------+--------------+---------------------------+ | paramname | paramvalue | description | |-------------+--------------+---------------------------| | MaxFileSize | 1000000 | Default maximum file size | +-------------+--------------+---------------------------+
Dalam contoh ini saya melewati MaxFileSize
sebagai argumen untuk mempersempit hasil menjadi hanya opsi konfigurasi yang saya minati. Anda juga dapat menggunakan sysmail_help_configure_sp
prosedur tanpa argumen untuk mengembalikan semua opsi konfigurasi.
Ubah Batas
Anda dapat mengubah batas ukuran file lampiran dengan sysmail_configure_sp
prosedur tersimpan.
EXEC msdb.dbo.sysmail_configure_sp 'MaxFileSize','3000000';
Sekarang ketika kita menjalankan sysmail_help_configure_sp
lagi, kita melihat nilai baru.
EXEC msdb.dbo.sysmail_help_configure_sp 'MaxFileSize';
Hasil:
+-------------+--------------+---------------------------+ | paramname | paramvalue | description | |-------------+--------------+---------------------------| | MaxFileSize | 3000000 | Default maximum file size | +-------------+--------------+---------------------------+
Perhatikan bahwa deskripsinya tetap sama. Dalam hal ini agak menyesatkan karena 1000000 adalah ukuran file maksimum default – bukan 4000000.
Anda dapat mengubah deskripsi dengan prosedur yang sama. Bahkan, Anda dapat menentukan parameter name=value
pasang juga, jika Anda mau (ini juga berlaku untuk sysmail_configure_sp
prosedur).
Mari kita lakukan lagi, tapi kali ini saya akan memperbarui deskripsi, dan saya akan menggunakan name=value
berpasangan.
EXECUTE msdb.dbo.sysmail_configure_sp
@parameter_name = 'MaxFileSize',
@parameter_value = '4000000',
@description = 'Current maximum file size';
Sekarang ketika kita menjalankan sysmail_help_configure_sp
lagi, kita melihat nilai baru.
EXEC msdb.dbo.sysmail_help_configure_sp
@parameter_name = 'MaxFileSize';
Hasil:
+-------------+--------------+---------------------------+ | paramname | paramvalue | description | |-------------+--------------+---------------------------| | MaxFileSize | 4000000 | Current maximum file size | +-------------+--------------+---------------------------+