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 文件中

注意

  • <DateTime> - ! [LOG]无法读取本地事件日志 (原因:RPC 服务器不可用)
  • <DateTime> - ! [LOG]无法读取本地事件日志 (原因:句柄无效)
  • <DateTime> - + [LOG] 已成功重新打开本地事件日志 - 注意:某些事件可能已错过

         在 Windows 系统事件日志文件中

注意

  • <DateTime> 信息 server_name。 7036 服务控制管理器不适用 Windows 事件日志服务已进入停止状态。
  • <DateTime> 信息 server_name。 7036 服务控制管理器不适用 Windows 事件日志服务进入运行状态。

原因

应用程序事件日志配置为具有较大的最大日志大小,可以通过组策略 对象 (GPO) 设置或本地设置。 检查SQL Server 代理日志时,会看到重启后不久的某个时间,事件日志的句柄丢失。 当句柄丢失时,警报引擎会在事件日志中“失去其位置”,并在获取新的事件日志句柄后,在应用程序事件日志中) 定义警报的所有错误 (发送电子邮件。

解决方法

此修补程序包含在以下更新中:

关于SQL Server的累积更新:

SQL Server的每个新累积更新都包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看SQL Server的最新累积更新:

SQL Server 2017 的最新累计更新

SQL Server 2014 年的最新累积更新

latest cumulative update for SQL Server 2016

状态

Microsoft 已确认在 "适用于" 部分中所列的 Microsoft 产品中存在问题。

参考资料

了解Microsoft用于描述软件更新 的术语