KB4041811 - 修复:2014、2016 和 2017 SQL Server增量统计信息的自动更新延迟

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

症状

在 Microsoft SQL Server 2014、2016 和 2017 中,当增量统计信息构建在分区表顶部时,所有分区的修改计数总和将存储为根节点的修改计数。 当根节点的修改计数超过阈值时,将触发统计信息的自动更新。 但是,如果任何单个分区的修改计数未超过本地阈值,则不会更新统计信息。 此外,根节点的修改计数将重置为零。 这可能会导致增量统计信息的自动更新延迟。

解决方法

此问题可通过在任何分区的修改计数超过本地阈值时触发统计信息的自动更新来修复。 因此,当触发统计信息的自动更新时,统计信息会正确更新。

还引入了 新的跟踪标志 (TF) 11024 。 启用此跟踪标志后,根节点的修改计数将保留为所有分区的修改计数的总和。

此问题已在 SQL Server 的累积更新中进行了修复:

2017 SQL Server累积更新 3

关于SQL Server的累积更新:

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

SQL Server 2017 的最新累计更新

SQL Server的 Service Pack 信息

以下 service Pack 中修复了此问题,用于SQL Server:

Service Pack 2 for SQL Server 2016

Service Pack 3 for SQL Server 2014

关于SQL Server的 Service Pack:

Service Pack 具有累积性。 每个新 Service Pack 除了包含所有新修复程序外,还包含以前 Service Pack 中的所有修复程序。 建议为该服务包应用最新的 Service Pack 和最新的累积更新。 在安装最新的 Service Pack 之前,不需要安装以前的 Service Pack。 使用以下文章中的表 1 查找有关最新 Service Pack 和最新累积更新的详细信息。

如何确定 SQL Server 及其组件的版本、版本类别和更新级别

状态

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

参考资料

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