Sql-Server-Agent
SQL 作業在嘗試發送警報電子郵件時隨機失敗。需要幫忙
我們已經配置了一個使用作業觸發電子郵件的警報。但該工作在白天隨機失敗,我們沒有收到與警報相關的郵件。如果我清除 ExternalmailQueue,它會再次開始工作。
以下是我在作業失敗之前獲得的日誌。
Windows 事件日誌
- 數據庫引擎實例=NODMSSQL1;郵件 PID=2240;錯誤消息:引發了“System.OutOfMemoryException”類型的異常。
- 數據庫引擎實例=NODMSSQL1;郵件PID=2240;錯誤資訊:連接未打開。
數據庫郵件日誌
08/30/2017 21:30:31,,資訊,15826,DatabaseMail 程序正在關閉,2240,,,8/30/2017 9:30:31 PM,..\sqladmin 2017 年 8 月 30 日 21:30:31,資訊,15825,數據庫郵件關閉。郵件隊列已停止。,2240,,,8/30/2017 9:30:31 PM,..\sqladmin 08/30/2017 21:30:31,,Success,15824,啟動成功。,,,,8/30/2017 9:30:31 PM,sa 08/30/2017 21:30:20,,成功,15823,郵件發送成功。 08/30/2017 21:30:19,,成功,15821,郵件發送成功。 . . . 2017 年 8 月 30 日 21:30:10,,錯誤,15803, 由於郵件伺服器故障,無法將郵件發送給收件人。 (使用帳戶 1 (2017-08-30T21:30:10) 發送郵件。異常消息:不能 將郵件發送到郵件伺服器。(超出儲存分配。伺服器響應 是:5.3.4 消息大小超過了固定的最大消息大小)。 ), 2240,19923,, 2017 年 8 月 30 日晚上 9:30:10,在
Sql 代理日誌
08/30/2017 21:30:38,,Error,[440] SQLiMail 發送郵件失敗(原因:) 2017 年 8 月 30 日 21:30:38,錯誤,[298] SQLServer 錯誤:14641 郵件未排隊。數據庫郵件已停止。使用 sysmail_start_sp 啟動數據庫郵件。[SQL 狀態 42000]
題
我們必須重新配置什麼來減少發送郵件時的錯誤?
很明顯,郵件伺服器正在向 SQL Server 發送響應:
超出儲存分配。伺服器響應為:5.3.4 消息大小超過固定的最大消息大小
SQL Server 發送的電子郵件過大。
錯誤很明顯。您的郵件已達到一定限制,並被郵件伺服器拒絕。
(Exceeded storage allocation. The server response was: 5.3.4 Message size exceeds fixed maximum message size).
如果 SMTP(郵件)伺服器上沒有文件限制
…,打開 SQL Server Management Studio (SSMS) 並向下導航到Management | 數據庫郵件。
當您到達Database Mail時,右鍵點擊它並選擇Confgiure Database Mail。
您將看到 SQL Server 實例的數據庫郵件配置嚮導。
如果您還沒有取消嚮導(在之前的會話中),您將看到一個介紹頁面。點擊**下一步 >**轉到下一個視窗。
您現在處於“選擇配置任務”對話框中,並提供以下可能性:
通過執行以下任務設置數據庫郵件:
- 創建新的電子郵件配置文件並指定其 SMTP 帳戶
- 指定配置文件安全性
- 配置系統參數
管理數據庫郵件帳戶和配置文件
管理個人資料安全
查看或更改系統參數
選擇最後一個選項查看或更改系統參數,然後點擊下一步 >
您將看到“配置系統參數”頁面。此頁面顯示各種郵件設置。
- 帳戶重試嘗試
- 帳戶重試延遲(秒)
- 最大文件大小(字節)
- 禁止的附件文件副檔名
- 數據庫郵件可執行最小生命週期(秒)
- 日誌記錄級別
在此頁面中增加最大文件大小(字節)的大小,然後點擊Next >然後點擊Finish。
替代解決方案(快速修復)
執行內置儲存過程sysmail_configure_sp (Microsoft Docs)
sysmail_configure_sp [ [ @parameter_name = ] 'parameter_name' ] [ , [ @parameter_value = ] 'parameter_value' ] [ , [ @description = ] 'description' ]
例如
sysmail_configure_sp @parameter_name = 'MaxFileSize', @parameter_value = 20000000
如果您對 SMTP(郵件)伺服器有文件大小限制
…,請郵件管理員(postmaster)增加文件附件的限制,以允許您的 SQL Server 帳戶(或其他受影響的帳戶)發送具有更大文件大小的附件。