sql-server – 持久严重性016警报:“更改跟踪autocleanup在边桌上被阻止”

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

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

更改跟踪正在运行,但显然autocleanup不是.我们收到Severity 016警报:

Change Tracking autocleanup is blocked on side table of tablename. If the failure persists, check if the table tablename is blocked by any process.

对于每个抱怨的表(大约4个不同的表),这些大约每半小时一次.

我们已经尝试过here所描述的手动清理……它也会出现“边桌被阻止”的错误.

所以这是我的选择:

>关闭此特定警报,希望没有任何事情爆发.
>关闭autocleanup;在日常维护窗口期间安排手动清理.
>不确定我还能做什么.

除了“我该怎么做才能阻止这个?”之外,我的方面问题是“为什么2017年Std会发生这种情况,而2014年企业没有发生这种情况?”

最佳答案
我也遇到过这种情况.看起来这些警报与针对SQL 2016的SQL 2017和针对SQL 2016的SP2中的自动清理过程的改进相关联:

https://support.microsoft.com/en-us/help/4054842/improvements-to-the-change-tracking-cleanup-process-in-sql-server

转载注明原文:sql-server – 持久严重性016警报:“更改跟踪autocleanup在边桌上被阻止” - 代码日志