KB4052127 - 修正:警報引擎會讀取完整的應用程式事件日誌,並在 Windows 重新啟動後對舊事件發送警報

套用到
SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2016 Service Pack 1 SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Service Pack 2 - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows

症狀

重新啟動系統後,你會收到大量舊 SQL Server 警示的電子郵件。 這些警示可追溯至應用程式事件日誌中最早的訊息。

此外,以下訊息也會被記錄:

在 SQLAgent.out 檔案中

注意

  • <約會時間> ——! [日誌]無法讀取本地事件日誌 (原因:RPC 伺服器無法使用)
  • <約會時間> ——! [日誌]無法讀取本地事件日誌 (原因:handle無效)
  • <DateTime> - + [LOG] 成功重新開啟本地事件日誌 - 注意:部分事件可能未被遺漏

         在 Windows 系統事件日誌檔中

注意

  • <DateTime> 資訊 server_name。 7036 服務控制管理員 N/A N/A Windows 事件日誌服務進入停止狀態。
  • <DateTime> 資訊 server_name。 7036 服務控制管理器 N/A N/A Windows 事件日誌服務進入執行狀態。

原因

應用程式事件日誌被設定為最大最大日誌大小,無論是透過 群組原則 物件 (GPO) 設定,或是本地設定。 當你檢視 SQL Server Agent 日誌時,你會發現在重新啟動後不久,事件日誌的句柄遺失了。 當該句柄遺失時,警報引擎會在事件日誌中「失去位置」,並在取得新事件日誌帳柄後,發送所有錯誤 (應用程式事件日誌中) 定義的錯誤。

解決方式

此修正包含在以下更新中:

關於 SQL Server 的累積更新:

每次新的 SQL Server 累積更新都包含了之前累積更新中包含的所有熱修補與安全修補。 請查看 SQL Server 的最新累積更新:

SQL Server 2017 最新累積更新

SQL Server 2014 最新累積更新

Latest 累積更新 for SQL Server 2016

狀態

Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。

參考資料

了解 Microsoft 用來描述軟體更新的 術語