KB4483427 - 修复:将 XEvent 会话与 sqlos.wait_info 事件配合使用时发生访问冲突,服务器意外停止SQL Server

应用对象
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

症状

请考虑以下情形:

  • 在 2014、2016 或 2017 Microsoft SQL Server 中创建具有 sqlos.wait_info 事件的 XEvent 会话。
  • XEvent 会话包括以下一个或多个全局操作:sql_text、tsql_frame、tsql_stack、query_hash或query_hash_signed。
  • 服务器负载过大,为许多并发并行查询提供服务。

在此方案中,SQL Server可能会遇到并行线程清理延迟,这会触发wait_info事件并触发未经处理的访问冲突。 因此,SQL Server可能会意外停止。

注意:sqlos.wait_info事件也存在于默认系统运行状况会话中。 因此,它也容易导致相同的问题。

状态

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

解决方法

以下SQL Server累积更新中修复了此问题:

关于SQL Server的累积更新:

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

参考资料

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