持续严重性 016 警报:“更改跟踪自动清理在边桌上被阻止”

Ros*_*ser 5 sql-server change-tracking sql-server-2017

我们有一个在 SQL Server 2014 Enterprise 实例(评估许可证)上运行的大型数据库。由于成本限制,我们不得不将其移至新的 SQL Server 2017 Standard 实例(每核许可证;刚刚更新到 CU6)。编辑:数据库与 SQL Server 2014 (120) 兼容,并通过恢复完整备份和日志备份进行传输。

除了更改跟踪外,一切正常。我们使用更改跟踪来定位最近的更改并使非规范化表保持最新;denorm 表用于快速填充 Web 应用程序的网格。

更改跟踪有效,但显然自动清理无效。我们收到了 016 级警报:

更改跟踪自动清理在 的边表上被阻止tablename。如果失败仍然存在,请检查该表tablename是否被任何进程阻塞。

对于每个抱怨的桌子(大约 4 个不同的桌子),这些大约每半小时出现一次。

我们已经尝试了此处描述的手动清理......它也出现了“边桌被阻塞”的错误。

所以这是我的选择:

  1. 关闭此特定警报,并希望不会发生任何事情。
  2. 关闭自动清理;在日常维护窗口期间安排手动清理。
  3. 不知道我还能做什么。

除了“我应该怎么做才能阻止这种情况?”,我的附带问题是“为什么 2017 Std 会发生这种情况,而 2014 Enterprise 没有发生这种情况?”

Lea*_*min 4

这似乎是一个已知问题,并且已被 Microsoft 认可。您可以阅读以下决议:

解决

此问题的修复包含在 SQL Server 的以下更新中:

SQL Server 2017 累积更新 10

SQL Server 2016 Service Pack 2 累积更新 3

SQL Server 2014 Service Pack 3 累积更新 1

通过此修复,您将不再看到连续的消息。错误 22123 消息的频率(如果有)不会超过每 30 分钟一次。要完全消除这些消息,请启用跟踪标志 8293。

列出了存在此问题的版本:

  • SQL Server 2017 开发人员
  • SQL Server 2017 企业版
  • SQL Server 2017 企业核心
  • SQL Server 2017 标准 Windows
  • SQL Server 2016 开发人员
  • SQL Server 2016 企业版
  • SQL Server 2016 企业核心
  • SQL Server 2016 标准版
  • SQL Server 2014 开发人员
  • SQL Server 2014 企业版
  • SQL Server 2014 企业核心
  • SQL Server 2014 标准

请从链接阅读更多内容。

希望以上有帮助。