Sync Framework 2.1中的BulkInsertCommand失败

有时我尝试使用Sync Framework 2.1从SQL Express同步到SQL Server时出现以下错误。 一旦客户端收到此错误,他们必须重新初始化范围。 像错误状态这样的语法没有任何问题,因为它在很长一段时间内都没有问题(插入发生)。 有什么想法吗?

上午11:18:21无法对表’XXX’执行’BulkInsertCommand’命令; 该交易已回滚。 确保命令语法正确。 上午11:18:21 Microsoft.Synchronization 11:18:21 AM at Microsoft.Synchronization.Data.ChangeHandlerBase.CheckZombieTransaction(String commandName,String table,Exception ex)

从跟踪日志中:

警告,OfflineAgentMonitor.vshost,13,04 / 05/2011 11:16:17:224,批量命令BulkUpdateCommand失败,出现以下exception。 在单次申请期间将重试行。 System.Data.SqlClient.SqlException(0x80131904):尝试传递具有19列的表值参数,其中相应的用户定义表类型需要20列。

尝试启用Sync Fx跟踪并检查Sync Fx是否记录原始exception。 如果我没记错的话,通常会在db连接丢失时引发exception。 您应该能够重试同步,而无需重新配置范围。

这发生在我同步2个SQL Azure数据库之间。 最初的原因是从属DB增长大于其配置大小。 我增加了大小,但是在同步停止抛出错误之前的20分钟