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 个不同的桌子),这些大约每半小时出现一次。
我们已经尝试了此处描述的手动清理......它也出现了“边桌被阻塞”的错误。
所以这是我的选择:
除了“我应该怎么做才能阻止这种情况?”,我的附带问题是“为什么 2017 Std 会发生这种情况,而 2014 Enterprise 没有发生这种情况?”
这似乎是一个已知问题,并且已被 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 标准
请从链接阅读更多内容。
希望以上有帮助。
| 归档时间: |
|
| 查看次数: |
5305 次 |
| 最近记录: |