我们有一个在 SQL Server 2014 Enterprise 实例(评估许可证)上运行的大型数据库。由于成本限制,我们不得不将其移至新的 SQL Server 2017 Standard 实例(每核许可证;刚刚更新到 CU6)。编辑:数据库与 SQL Server 2014 (120) 兼容,并通过恢复完整备份和日志备份进行传输。
除了更改跟踪外,一切正常。我们使用更改跟踪来定位最近的更改并使非规范化表保持最新;denorm 表用于快速填充 Web 应用程序的网格。
更改跟踪有效,但显然自动清理无效。我们收到了 016 级警报:
更改跟踪自动清理在 的边表上被阻止
tablename。如果失败仍然存在,请检查该表tablename是否被任何进程阻塞。
对于每个抱怨的桌子(大约 4 个不同的桌子),这些大约每半小时出现一次。
我们已经尝试了此处描述的手动清理......它也出现了“边桌被阻塞”的错误。
所以这是我的选择:
除了“我应该怎么做才能阻止这种情况?”,我的附带问题是“为什么 2017 Std 会发生这种情况,而 2014 Enterprise 没有发生这种情况?”