更新我修改了每个数据库架构使用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'.
通常,这种错误是由已经存在的范围引起的,所以我尝试了以下三种方法(多次)来清理范围并重新开始:
deprovisioning.DeprovisionScope(ScopeName)
deprovisioning.DeprovisionStore()
不幸的是,这些都没有。