无法更新标识列'scope_local_id'

时间:2017-03-03 09:28:17

标签: azure syncfx

更新我修改了每个数据库架构使用1个同步范围的方法。这消除了除dbo之外的所有模式的问题。然后我将dbo分成几个同步范围,这似乎消除了dbo中的问题。我不清楚为什么在单个同步范围内有大量表会导致此特定错误消息。

我正在使用Microsoft Sync Framework 2.1在两个数据库之间设置同步。我使用以下代码配置Azure数据库:

// Set up destination server for sync
var destinationScopeProvisioning = new SqlSyncScopeProvisioning(DestinationConnection, scope);
if (!destinationScopeProvisioning.ScopeExists(ScopeName))
{
    destinationScopeProvisioning.Apply();
}

此代码在运行几分钟后抛出异常:

An unhandled exception of type 'Microsoft.Synchronization.Data.DbPartiallyProvisionedException' occurred in Microsoft.Synchronization.Data.SqlServer.dll

Additional information: Cannot update identity column 'scope_local_id'.

通常,这种错误是由已经存在的范围引起的,所以我尝试了以下三种方法(多次)来清理范围并重新开始:

  1. 通过调用deprovisioning.DeprovisionScope(ScopeName)
  2. 取消设置范围
  3. 通过调用deprovisioning.DeprovisionStore()
  4. 取消设置商店
  5. 删除并重新创建数据库。
  6. 不幸的是,这些都没有。

0 个答案:

没有答案