sql server语言 - Change Tracking已经清理了跟踪信息,尽管Auto cleanup设置为false



在我的SQL Server上,我启用了更改跟踪,自动清除设置为false或true,保留期非常高,如364天。

使用Microsoft Sync Framework我第一次同步成功,第二次我尝试同步我得到错误

" System.Data.SqlClient。SqlException (0x80131904): SQL Server ChangeTracking已经清理了表TableName的跟踪信息。来从此错误中恢复,客户端必须重新初始化其本地数据库并重试".

为什么跟踪信息被清理,虽然自动清理设置为假?

我尝试了这篇文章发布的解决方案,但它不适合我,当我运行重新初始化代码时,它需要永远和RAM使用不断构建,直到我得到内存异常。

请注意,我的数据库很大,超过400 MB,同步的记录总数超过163,000条记录,第一次同步需要很长时间,所以当这个错误发生时,诉诸于删除本地CE数据库不是一个选项。

我发现,当我从备份恢复服务器数据库时,在数据库发生任何更改之前,问题发生了。

所以简单的解决方案是,在我从备份中恢复数据库后,我只是去更新任何跟踪表中的任何行的任何列,这解决了问题!

相关内容

最新更新