Sql-Server

數據庫郵件中的最大附件大小

  • July 13, 2016

下午好,

我正在嘗試通過數據庫郵件發送附件。

declare     @mail_recipients  VARCHAR(4000)  = 'abc@123.com'
         , @mail_subject     VARCHAR(500)   = 'subject'
         , @mail_body        VARCHAR(4000)  = ''
         , @mail_attachment  VARCHAR(500)   = ''
         , @sql_query        VARCHAR(4000)  = ''

..... Code to populate the query

EXEC msdb..sp_send_dbmail   @profile_name                 = {our profile name}
                         , @recipients                   = @mail_recipients
                         , @subject                      = @mail_subject
                         , @body                         = @mail_body
                         , @body_format                  = 'HTML'
                         , @query_result_header          = 1 
                         , @query                        = @sql_query
                         , @attach_query_result_as_file  = 1
                         , @query_attachment_filename    = @mail_attachment
                         , @query_result_separator       = ','

我收到以下錯誤。

消息 22050,級別 16,狀態 1,行 0

文件附件或查詢結果大小超過 10000000 字節的允許值。

當我在 SSMS 和 SAVE-AS csv 文件中執行它時,該文件只有 9077 KB。數據庫郵件會做什麼來讓它認為文件更大?

該文件在作為附件發送時會轉換為7 位 ASCII,這使得文件比通常看起來要大得多。

正如@M.Ali 在他的回答中指出的那樣,您可以調整最大消息大小以適應您的大型查詢。

但是,您通過電子郵件發送的內容需要這麼大嗎?您確定接收者實際使用了可能相當於報告的資訊量嗎?

您必須通過轉到以下位置來更改允許的附件文件大小:

轉到SQL Server Management Studio–> Management–> Database Mail

這將啟動Configuration Wizard.

點擊Next–> 選擇View or change system parameters–> 點擊Next

現在更改最大文件大小(字節)屬性並點擊下一步,然後點擊完成以保存更改。

在此處輸入圖像描述

引用自:https://dba.stackexchange.com/questions/143779