Sql-Server-Agent

SQL 作業在嘗試發送警報電子郵件時隨機失敗。需要幫忙

  • August 31, 2017

我們已經配置了一個使用作業觸發電子郵件的警報。但該工作在白天隨機失敗,我們沒有收到與警報相關的郵件。如果我清除 ExternalmailQueue,它會再次開始工作。

以下是我在作業失敗之前獲得的日誌。

Windows 事件日誌

  1. 數據庫引擎實例=NODMSSQL1;郵件 PID=2240;錯誤消息:引發了“System.OutOfMemoryException”類型的異常。
  2. 數據庫引擎實例=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 實例的數據庫郵件配置嚮導

如果您還沒有取消嚮導(在之前的會話中),您將看到一個介紹頁面。點擊**下一步 >**轉到下一個視窗。

您現在處於“選擇配置任務”對話框中,並提供以下可能性:

  • 通過執行以下任務設置數據庫郵件:

    1. 創建新的電子郵件配置文件並指定其 SMTP 帳戶
    2. 指定配置文件安全性
    3. 配置系統參數
  • 管理數據庫郵件帳戶和配置文件

  • 管理個人資料安全

  • 查看或更改系統參數

選擇最後一個選項查看或更改系統參數,然後點擊下一步 >

您將看到“配置系統參數”頁面。此頁面顯示各種郵件設置。

  • 帳戶重試嘗試
  • 帳戶重試延遲(秒)
  • 最大文件大小(字節)
  • 禁止的附件文件副檔名
  • 數據庫郵件可執行最小生命週期(秒)
  • 日誌記錄級別

在此頁面中增加最大文件大小(字節)的大小,然後點擊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 帳戶(或其他受影響的帳戶)發送具有更大文件大小的附件。

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