摘要
此更新包含对 Windows 上的 Microsoft SQL Server 2016 和2017中的 "更改跟踪清理" 功能的以下改进。
-
避免了硬检查点上的 syscommittab 表的清理,因为这可能会影响检查点操作的性能。 相反,一旦更改跟踪自动清理完成, syscommittab 表可能会被清除。 更改跟踪自动清理完成后,它将更新水印版本-加强清理版本。 此强制清理版本在 syscommittab 清理中用于标识要删除的记录。
-
当前,在更改跟踪自动清理过程中,每当清理线程在删除或清理侧表中的行时遇到阻止时,自动清理将停止并退出进程。 通过此更新(而不是退出进程),有问题的表被标记为重试,并继续列表中剩余的表。 当线程完成最后一个表的清理后,在它更新强制清理版本之前,将重试进程以检查是否存在标记为要重试的任何表。
-
此外,还会向现有 change_tracking_cleanup XEvent 添加以下子事件。
a) ErrorInTableCleanup –这有助于标识在从任何侧面表中清除过期条目时,更改跟踪清理是否会遇到问题。
b) RowsCleanedupInLoop –这有助于跟踪表格级别的更改跟踪自动清理进度。
c) RetryCleanup –这有助于识别更改跟踪自动清理线程所发出的重试。
解决方案
此更新包含在 SQL Server 的以下累积更新和 service pack 中:
SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:
SQL Server 2016 的 Service pack 信息
Service Pack 具有累积性。 每个新 Service Pack 除了包含所有新修复程序外,还包含以前 Service Pack 中的所有修复程序。 我们建议为该服务包应用最新的服务包和最新的累积更新。 在安装最新的 Service Pack 之前,不需要安装以前的 Service Pack。 使用以下文章中的表1查找有关最新服务包和最新累积更新的详细信息。
参考
了解 Microsoft 用于描述软件更新的 术语。