【问题标题】:Change Tracking has cleaned up tracking information although Auto Clean up is set to false尽管自动清理设置为 false,但更改跟踪已清理跟踪信息
【发布时间】:2013-02-27 10:53:07
【问题描述】:

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

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

“System.Data.SqlClient.SqlException (0x80131904): SQL Server 更改 跟踪已清理表“TableName”的跟踪信息。到 从此错误中恢复,客户端必须重新初始化其本地 数据库,然后重试”。

为什么自动清理设置为false,跟踪信息却被清理了?

我尝试了article 发布的解决方案,但它对我不起作用,当我运行重新初始化代码时,它需要很长时间,并且 RAM 使用量不断增加,直到我出现内存不足异常。

请注意,我的数据库很大,超过 400 MB,同步的记录总数超过 163,000 条记录,第一次同步需要很长时间,所以在发生此错误时删除本地 CE 数据库是不可行的。

【问题讨论】:

  • 你在服务器数据库上做过什么吗?即,截断表?等等……
  • 服务器上没有任何变化,甚至数据也没有。
  • 您是否正在从不同位置复制 SQL Ce 数据库?如果 SQL Ce 数据库上的同步锚被重置,也会出现该错误。
  • 不,我不会从任何地方复制它,SQL CE 数据库是使用同步逻辑创建的。
  • 十个月后,你做了什么来修复它?我尝试了相同的解决方案(文章)来恢复客户数据,但没有奏效......在我的情况下,我忘记将保留天数设置为超过 2 天......

标签: sql-server microsoft-sync-framework change-tracking


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-17
    相关资源
    最近更新 更多