应用对象
SQL Server 2017 Developer SQL Server 2017 Enterprise SQL Server 2017 Enterprise Core SQL Server 2016 Service Pack 1 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)

症状

假设你使用的始终在可用性组(AG)上包含堆表。 从 SQL Server 2016 开始,在辅助副本中使用用于恢复操作的 p arallel 线程。在这种情况下,堆表恢复操作可能会生成运行时断言转储,或者 SQL Server 可能会在某些情况下崩溃,并出现访问冲突错误.

原因

在应用以下文章中提及的累积更新后,会出现此问题:

4018866 修复:与 sql server 2014 或早期版本相比,并行恢复导致 SQL server 2016 中的内存使用率较高

解决方案

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

       SQL Server 2016 SP1 的累积更新9

       SQL Server 2016 SP2 的累积更新1

       SQL Server 2017 累积更新6

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

SQL Server 2016 的最新累计更新

SQL Server 2017 的最新累计更新

解决方法

若要解决此问题,请通过启用跟踪标记3459禁用并行重做。

状态

Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。

参考

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

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。