KB4490140 - 修复:SQL Server 2014、2016 和 2017 的更改跟踪清理过程中发生堆栈转储

应用对象
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)

症状

假设你在 SQL Server 2014、2016 和 2017 中有一个启用了更改跟踪的数据库。 可能会遇到这样的情况:更改跟踪自动清理任务可能会报告错误消息 22122/22123,表名为乱码字符,或者在打印错误消息时遇到访问冲突。 此外,你可能会注意到发生堆栈转储。 错误日志如下所示:

< DateTime> spid# 错误:22123,严重性:16,状态:1。

< DateTime>spid# 更改跟踪自动清理在 “” 的侧表上被阻止。 如果故障仍然存在,请检查表“”是否被任何进程阻止。

< DateTime> spid# ***Stack Dump 正在发送到 <FileLocation>

状态

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

解决方法

此问题已在 SQL Server 的以下累积更新中修复:

关于 SQL Server 的累积更新:

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

解决方法

要解决此问题,可以启用跟踪标志 8293。

参考资料

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