Exchange和CRM联系人复制创建了500,000个联系人

时间:2015-04-03 07:55:57

标签: dynamics-crm exchange-server exchangewebservices server-side-sync

这里有2个问题,

一个已经解决,但我仍然不知道是什么导致它,另一个是副作用

我在动态CRM 2013中创建了一个联系人,这个过程并没有什么特别之处,它与以往一样,同时请注意联系表单没有自定义插件或工作流程,标准有一些额外的字段,

然后昨天(03年4月15日)我收到了一个用户的电话,其中包含Outlook中此处联系人的屏幕截图,我新创建的联系人就在那里,数千份副本,

所以我在CRM中检查,当我搜索时我得到一个错误,说明要显示许多结果,所以我直接在DB中检查我有498,564份联系人,

首先我关闭CRM批量删除任务,这需要12个小时才能完成,但是要清除CRM中的混乱,

Async服务器日志文件中包含以下内容

  

Crm异常:消息:无法插入重复键。,ErrorCode:-2147220937,InnerException:Microsoft.Crm.BusinessEntities.CrmDuplicateRecordException:无法插入重复键。      在Microsoft.Crm.BusinessEntities.BusinessProcessObject.DbCreate(IBusinessEntity实体,ExecutionContext上下文)      在Microsoft.Crm.BusinessEntities.BusinessProcessObject.DoCreate(IBusinessEntity实体,ExecutionContext上下文)   [2015-04-02 01:57:38.950]流程:CrmAsyncService |组织:3752a286-0922-e411-80e2-00505693281b |主题:105 |类别:平台|用户:9af6ba29-6522-4900-9235-61db6f0ca810 |级别:错误|要求:a2c4d9df-8cf6-44e8-a93a-690e847b6580 | MessageProcessor.Execute ilOffset = 0x1C5

     

MessageProcessor无法处理消息'创建'用于交换同步映射'。   [2015-04-02 01:57:38.982]进程:CrmAsyncService |组织:3752a286-0922-e411-80e2-00505693281b |主题:105 |分类:Platform.Sql |用户:9af6ba29-6522-4900-9235-61db6f0ca810 |等级:错误|要求:a2c4d9df-8cf6-44e8-a93a-690e847b6580 | BusinessProcessObject.ExecuteNonQuery ilOffset = 0x34

     

执行非查询时出现异常:插入[ExchangeSyncIdMappingBase]([ObjectId],[ToCrmChangeType],[LastSyncErrorCode],[IsUnlinkedInCRM],[FromCrmChangeType],[ExchangeEntryId],[OwnerIdType],[IsDeletedInExchange],[ObjectTypeCode] ],[UserDecision],[Retries],[ExchangeSyncIdmappingId],[OwnerId],[OwningBusinessUnit])值(' 6efce4a2-5bd5-e411-8101-00505693281e',0,0,0,0,& #39; AAMkADIxNjdlMmIyLTM1MTctNGM5Ny1hMjUzLTJkNmYwNDVhZGJhZQBGAAAAAABTsYsrMJx3TJCdfGJteVkFBwBkWoS7TTKcR6FU7CToX ++ ++ gAAAAorXRAABkWoS7TTKcR6FU7CToX = gAAAEKU86AAA&#39,8,0,2,-1,-1,' f2d412de-CAD8-e411-8101-00505693281e&#39 ;,' bdc484ff -cebc-e411-80f6-00505693281b',' 7f7cda54-6e71-e411-80ee-00505693281b')异常:System.Data.SqlClient.SqlException(0x80131904):无法在对象&中插入重复的键行#39; dbo.ExchangeSyncIdMappingBase'具有唯一索引' ndx_uniqueobjectidmapping'。重复键值为(6efce4a2-5bd5-e411-8101-00505693281e,bdc484ff-cebc-e411-80f6-00505693281b)。   声明已经终止。

但是我们也使用服务器端同步,所以现在我有4个用户,包括我自己的邮箱,每个邮箱有500,000个合同, 试图在Outlook客户端中查看它们会导致Outlook客户端崩溃,在OWA中我一次只能删除200个,所以如果我必须手动执行此操作,这将花费太长时间来清理。

所以我的问题 有谁知道CRM中可能导致这种情况的原因?

有谁知道如何快速删除这些联系人?

1 个答案:

答案 0 :(得分:0)

最后,我从MS网站获得了一个EWS样本并稍微改了一下,删除了大约需要3天才能完全删除它们的联系人但是它有效了